Command Prompt: jalankan skrip di latar belakang (setara dengan Linux & / bg)


23

Di Linux Anda dapat melakukan ini:

$ php blah.php> some.log &

untuk berjalan blah.phpdi latar belakang. Ini sama dengan Ctrl+ zmaka bgperintah.

Apakah ada yang setara dengan keduanya untuk Windows Command Prompt?


1
Saya tidak percaya ada, tetapi Anda dapat meluncurkan sebanyak mungkin perintah yang Anda butuhkan. Apa yang ingin Anda capai?
uSlackr

Saya menggunakan> untuk masuk ke file, dan saya tidak ingin meminta untuk hanya duduk di sana. Saya mungkin ingin terus bekerja pada jendela prompt yang sama dengan direktori yang sama.
DOOManiac

Versi windows apa?
EBGreen

Windows 7 (64-bit)
DOOManiac

Jawaban:


41

Windows memang memiliki fungsi yang mirip dengan Linux &, untuk meluncurkan proses sedemikian rupa sehingga mereka tidak mengambil alih konsol Anda. Alih-alih bendera baris perintah, itu adalah awalan perintah.

Cukup jalankan perintah Anda dengan startdi depannya, seperti: C:\> start myprog.exe

Itu juga bekerja dengan perintah, bukan hanya executable: C:\> start dir

Ini akan memulai jendela konsol baru dan menjalankan perintah di dalamnya.

Jika Anda tidak ingin jendela konsol baru muncul ketika menjalankan perintah, gunakan /Bsakelar, seperti ini: C:\> start /B myprog.exe

Ada beberapa opsi lain yang dapat Anda tentukan untuk mengonfigurasi cara menjalankan perintah. Anda dapat mengetahuinya dengan membaca bantuan startmenggunakan start /?.


1

Ini dapat menjalankan file di latar belakang dari prompt perintah atau file batch

@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

Sekarang ganti MyFiledengan file yang ingin Anda jalankan di latar belakang.


2
(1) Bisakah Anda menjelaskan cara kerjanya (hanya sedikit)? (2) Pada dasarnya, ini menggunakan startperintah. Itu menciptakan hal antara yang menjalankan perintah pengguna, dan kemudian menggunakan startperintah untuk memulai hal antara. Jadi ini adalah mesin Rube Goldberg . Bagaimana ini lebih baik daripada jawaban yang lain, yang menyarankan menggunakan startsecara langsung? (3) Pertanyaan menunjukkan pengalihan I / O ( > some.log). Bagaimana cara pengguna melakukan I / O redirection dengan jawaban ini? Letakkan di baris perintah, atau bangun di WshShell.Runbaris di skrip?
Scott

Jangan merespons dalam komentar; edit jawaban Anda untuk membuatnya lebih jelas dan lebih lengkap.
Scott
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.