Dấu nhắc lệnh: chạy các tập lệnh ở chế độ nền (tương đương với Linux & / bg)


23

Trong Linux, bạn có thể làm điều này:

$ php blah.php> some.log &

để chạy blah.phptrong nền. Điều này giống như Ctrl+ zsau đó là bglệnh.

Có tương đương với một hoặc cả hai cho Dấu nhắc lệnh của Windows không?


1
Tôi không tin là có, nhưng bạn có thể khởi chạy nhiều lệnh nhắc như bạn cần. Bạn đang cố gắng để thực hiện?
uSlackr

Tôi đang sử dụng> để đăng nhập vào một tập tin và tôi không muốn nhắc nhở chỉ ngồi ngoài đó. Tôi có thể muốn tiếp tục làm việc trên cùng một cửa sổ nhắc với cùng một thư mục.
DOOManiac

Phiên bản nào của windows?
EBGreen

Windows 7 (64-bit)
DOOManiac

Câu trả lời:


41

Windows có chức năng tương tự như của Linux &, để khởi chạy các quy trình sao cho chúng không chiếm quyền điều khiển của bạn. Tuy nhiên, thay vì cờ dòng lệnh, đó là tiền tố lệnh.

Đơn giản chỉ cần chạy lệnh của bạn với startphía trước của nó, như vậy: C:\> start myprog.exe

Nó cũng hoạt động với các lệnh, không chỉ thực thi: C:\> start dir

Điều này sẽ bắt đầu một cửa sổ giao diện điều khiển mới và chạy lệnh bên trong nó.

Nếu bạn không muốn có một cửa sổ giao diện điều khiển mới xuất hiện khi chạy lệnh, hãy sử dụng công /Btắc, như thế này: C:\> start /B myprog.exe

Có một số tùy chọn khác mà bạn có thể chỉ định để định cấu hình cách chạy lệnh. Bạn có thể tìm ra chúng bằng cách đọc trợ giúp startbằng cách sử dụng start /?.


1

Điều này có thể chạy một tệp trong nền từ dấu nhắc lệnh hoặc tệp bó

@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

Bây giờ thay thế MyFilebằng các tập tin bạn muốn chạy trong nền.


2
(1) Bạn có thể giải thích cách thức hoạt động của nó (chỉ một chút) không? (2) Về cơ bản, điều này sử dụng startlệnh. Nó tạo ra một thứ trung gian chạy lệnh của người dùng, và sau đó sử dụng startlệnh để bắt đầu thứ trung gian. Vậy đó là máy Rube Goldberg . Làm thế nào là điều này tốt hơn so với câu trả lời khác, trong đó gợi ý sử dụng starttrực tiếp? (3) Câu hỏi cho thấy chuyển hướng I / O ( > some.log). Làm thế nào người dùng sẽ chuyển hướng I / O với câu trả lời này? Đặt nó trên dòng lệnh, hoặc xây dựng nó thành WshShell.Rundòng trong kịch bản?
Scott

Không trả lời trong các bình luận; chỉnh sửa câu trả lời của bạn để làm cho nó rõ ràng và đầy đủ hơn.
Scott
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.