ฉันสามารถรันโปรแกรม GUI ในพื้นหลังบนบรรทัดคำสั่งของ windows ได้หรือไม่


13

ตัวอย่างเช่นใน Bash ฉันสามารถทำสิ่งนี้ได้:

emacs foo.txt &

มี Windows ใดบ้างที่เทียบเท่ากัน ฉันไม่สามารถหาวิธีที่จะทำเช่นนี้กับ emacs รุ่น windows ได้

คำตอบ:


21

คำสั่งเพื่อเปิดโปรแกรมจากบรรทัดคำสั่งใน Windows คือ "เริ่มต้น"

Starts a separate window to run a specified program or command.

START ["title"] [/D path] [/I] [/MIN] [/MAX] [/SEPARATE | /SHARED]
      [/LOW | /NORMAL | /HIGH | /REALTIME | /ABOVENORMAL | /BELOWNORMAL]
      [/AFFINITY <hex affinity>] [/WAIT] [/B] [command/program]
      [parameters]

    "title"     Title to display in  window title bar.
    path        Starting directory
    B           Start application without creating a new window. The
                application has ^C handling ignored. Unless the application
                enables ^C processing, ^Break is the only way to interrupt
                the application
    I           The new environment will be the original environment passed
                to the cmd.exe and not the current environment.
    MIN         Start window minimized
    MAX         Start window maximized
    SEPARATE    Start 16-bit Windows program in separate memory space
    SHARED      Start 16-bit Windows program in shared memory space
    LOW         Start application in the IDLE priority class
    NORMAL      Start application in the NORMAL priority class
    HIGH        Start application in the HIGH priority class
    REALTIME    Start application in the REALTIME priority class
    ABOVENORMAL Start application in the ABOVENORMAL priority class
    BELOWNORMAL Start application in the BELOWNORMAL priority class
    AFFINITY    The new application will have the specified processor
                affinity mask, expressed as a hexadecimal number.
    WAIT        Start application and wait for it to terminate

คุณอาจต้องการใช้ตัวเลือก MIN เพื่อเริ่มโปรแกรมย่อขนาดเล็กสุด


2
FYI คำสั่งที่ถูกต้องในกรณีนี้คือ "start / B emacs foo.txt" มิฉะนั้นจะทำงานในหน้าต่างคอนโซลของตัวเองซึ่งเป็นที่ยอมรับ แต่น่ารำคาญ :-)
Jason Baker

3

ฉันไม่รู้ว่ามันจะเพียงพอหรือไม่ แต่ลอง

start emacs foo.txt

มันจะไม่เข้าสู่พื้นหลัง แต่จะเริ่มต้นแยกหน้าต่าง cmd.exe สำหรับคำสั่ง


2

HaHa ฉันประสบความสำเร็จในการใช้ sublime text3 เป็นเซิร์ฟเวอร์ของการแสดงตัวอย่าง markdown เป็นข้อเสนอของฉันหลังจากที่ฉันปิดหน้าต่างข้อความที่ประเสริฐฉันจะไม่ทำงาน ฉันลองวิธีการมากมายในที่สุดก็ใช้งานได้ ก่อนอื่นคุณควรสร้างค้างคาวเพื่อเริ่มโปรแกรมนี้

start  /B "" "D:\dev\sublime3\Sublime Text 3\subl.exe" "-s" "%USERPROFILE%\Dropbox\dev\apis\*.markdown" 

ตอนนี้, ทำงานค้างคาวนี้โดยการกำหนดเวลางาน.

run window+R->taskschd.msc->add a task

เพิ่มทริกเกอร์เพื่อเรียกใช้ค้างคาวนี้ตามกำหนดเวลานี้

เพิ่มค้างคาวนี้เป็นการดำเนินการเพื่อดำเนินการ

ผลลัพธ์นี้คือมันทำงานเพื่อหลีกเลี่ยงการแสดงหน้าต่างข้อความประเสริฐและมันทำงานขัดแย้งกับข้อความประเสริฐเปิดตามปกติ

บางทีคุณอาจเดาได้ว่าฉันใช้OmniMarkupPreviewerปลั๊กอินเพื่อดูตัวอย่าง markdown ฉันได้แก้ไขข้อผิดพลาดนี้ (หรือไม่ใช่คุณสมบัติที่สมบูรณ์แบบ) ว่าใช้รหัสมุมมองที่แตกต่างกันทุกครั้ง


1

ขึ้นอยู่กับเวอร์ชันของ Windows ที่คุณใช้

ใน Vista คุณควรจะสามารถพิมพ์ชื่อของ exe ในเส้นทางของคุณและทำให้มันมีชีวิตอยู่หลังจากที่พรอมต์คำสั่งถูกปิด


1

เริ่มคำนวณ

วิธีการเริ่มโปรแกรมจากพรอมต์คำสั่งใน Windows

เริ่มต้นคำสั่งที่ใช้ใน MS-DOS พร้อมที่จะเริ่มต้นการใช้ MS-DOS หรือ Windows ตามโปรแกรม โปรแกรมเริ่มต้นเป็นงานแยกต่างหากที่สามารถเรียกใช้ในเบื้องหน้าหรือพื้นหลัง


1

น่าเสียดายที่ฉันไม่คิดว่าจะเป็นไปได้

คุณสามารถทำได้ในสคริปต์ Windows Scripting Host โดยมีสิ่งต่อไปนี้:

Set oShell = WScript.CreateObject("WScript.Shell")
Set oProc = oShell.Run "<your command here>",0,True

โดยที่ "0" ระบุว่าควรซ่อนหน้าต่างผลลัพธ์ (สำหรับตัวเลือกอื่น ๆ ดูเอกสารประกอบที่http://msdn.microsoft.com/en-us/library/d5fk67ky(VS.85).aspx ) และ " สถานะ "จริง" ที่คุณต้องการรอให้คำสั่งดำเนินการให้เสร็จก่อนที่สคริปต์จะดำเนินการ

มันจะเป็นการออกกำลังกายอย่างง่าย ๆ ที่จะรวมสคริปต์นี้ไว้ในสคริปต์ "เรียกใช้คำสั่งนี้ซ่อนอยู่" ทั่วไปที่คุณสามารถใช้จากบรรทัดคำสั่ง

หากคุณติดตั้ง PowerShell ใหม่ของ Microsoft แล้วอาจมีวิธีที่ง่ายกว่าในการทำเช่นนี้ (ฉันยังไม่ได้ทำงานกับ PowerShell)

หากคุณยินดีที่จะลดขนาดหน้าต่างให้น้อยลงคุณสามารถทำได้ด้วยคำสั่ง "เริ่มต้น" ที่กล่าวถึงอื่น ๆ น่าเสียดายที่ตัวเลือก "/ B" (ซึ่งฟังดูเหมือนเป็นสิ่งที่คุณต้องการ) มีไว้สำหรับคำสั่งเท่านั้นและจะไม่หยุดแอปพลิเคชันที่มีหน้าต่างปรากฏบนหน้าจอ

หมายเหตุ: ข้อใดต่อไปนี้ที่คุณใช้ในการเริ่มต้นโปรแกรมด้วยหน้าต่างหลักที่ถูกซ่อน / ย่อเล็กสุดไม่มีอะไรจะหยุดสร้างหน้าต่างใหม่ที่มองเห็นได้


1

sc create service และเรียกใช้มันมีตัวอักษรพิเศษในไฟล์และพารามิเตอร์เช่น

sc create ngrok "cmd /c \"c:\tmp\ngrok.exe\" http 80" type=own type=interactive

1
sc create nrgok binpath = "cmd / c \" c: \ tmp \ ngrok.exe \ "http 80" ประเภท = ประเภทของตัวเอง = โต้ตอบ
Lalo
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.