พร้อมรับคำสั่ง: เรียกใช้สคริปต์ในพื้นหลัง (เทียบเท่ากับ Linux & & bg)


23

ใน Linux คุณสามารถทำสิ่งนี้:

$ php blah.php> some.log &

เพื่อทำงานblah.phpในพื้นหลัง นี่คือเช่นเดียวกับCtrl+ zแล้วbgคำสั่ง

มีการเทียบเท่า / อย่างใดอย่างหนึ่งสำหรับพร้อมท์คำสั่งของ Windows


1
ฉันไม่เชื่อว่ามี แต่คุณสามารถเปิดใช้พรอมต์คำสั่งได้มากเท่าที่คุณต้องการ คุณพยายามทำอะไรให้สำเร็จ
uSlackr

ฉันใช้> เพื่อเข้าสู่ระบบไฟล์และฉันไม่ต้องการที่จะแจ้งให้ออกไปนั่งที่นั่น ฉันอาจต้องการทำงานต่อในหน้าต่างพรอมต์เดียวกันด้วยไดเรกทอรีเดียวกัน
DOOManiac

Windows รุ่นใด
EBGreen

Windows 7 (64-bit)
DOOManiac

คำตอบ:


41

Windows มีฟังก์ชั่นคล้ายกับของ Linux &เพื่อเปิดใช้งานโปรเซสซึ่งไม่ได้เข้าควบคุมคอนโซลของคุณ แต่แทนที่จะเป็นแฟล็กบรรทัดคำสั่งมันเป็นคำนำหน้าคำสั่ง

เพียงเรียกใช้คำสั่งของคุณด้วยคำสั่งstartด้านหน้าเช่น: C:\> start myprog.exe

นอกจากนี้ยังใช้งานได้กับคำสั่งไม่ใช่เพียงไฟล์ที่เรียกใช้งานได้: C:\> start dir

สิ่งนี้จะเริ่มหน้าต่างคอนโซลใหม่และเรียกใช้คำสั่งภายใน

หากคุณไม่ต้องการให้มีหน้าต่างคอนโซลขึ้นมาใหม่เมื่อรันคำสั่งให้ใช้/Bสวิตช์ดังนี้: C:\> start /B myprog.exe

มีตัวเลือกอื่น ๆ อีกมากมายที่คุณสามารถระบุเพื่อกำหนดวิธีเรียกใช้คำสั่ง คุณสามารถคิดออกโดยการอ่านความช่วยเหลือสำหรับโดยใช้startstart /?


1

สิ่งนี้สามารถเรียกใช้ไฟล์ในเบื้องหลังจากพรอมต์คำสั่งหรือไฟล์แบตช์

@Echo off
Echo Set WshShell = CreateObject("WScript.Shell")   >>%temp%\ghost.vbs
Echo WshShell.Run chr(34) ^& "MyFile" ^& Chr(34), 0 >>%temp%\ghost.vbs
Echo Set WshShell = Nothing                         >>%temp%\ghost.vbs
start %temp%\ghost.vbs
timeout /t 1 >nul
del %temp%\ghost.vbs

ตอนนี้แทนที่MyFileด้วยไฟล์ที่คุณต้องการเรียกใช้ในพื้นหลัง


2
(1) คุณอธิบายได้ไหมว่ามันใช้งานได้เพียงเล็กน้อย (2) พื้นฐานนี้ใช้startคำสั่ง มันสร้างสิ่งกลางที่รันคำสั่งของผู้ใช้แล้วใช้startคำสั่งเพื่อเริ่มสิ่งกลาง ดังนั้นจึงเป็นเครื่องบ้านนอกโกลด์เบิร์ก สิ่งนี้ดีกว่าคำตอบอื่น ๆ อย่างไรซึ่งแนะนำให้ใช้startโดยตรง (3) คำถามแสดงการเปลี่ยนเส้นทาง I / O ( > some.log) ผู้ใช้จะเปลี่ยนเส้นทาง I / O กับคำตอบนี้ได้อย่างไร วางไว้ในบรรทัดคำสั่งหรือสร้างลงในWshShell.Runบรรทัดในสคริปต์หรือไม่
Scott

อย่าตอบในความคิดเห็น แก้ไขคำตอบของคุณเพื่อให้ชัดเจนและสมบูรณ์ยิ่งขึ้น
สกอตต์
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.