Làm cách nào để tạo một tệp bó chờ / ngủ trong vài giây?


57

Tôi sử dụng một tệp bó để khởi động một vài chương trình tôi cần chạy trong nền. Cho đến bây giờ, tôi đã sử dụng lệnh tạm dừng để thực hiện nó sau khi một số khởi động khác kết thúc. Tôi muốn sử dụng các lệnh chờ hoặc ngủ nhưng chúng dường như không được bao gồm trong Windows 7.

Bất cứ ai cũng biết làm thế nào để đưa các lệnh đó trở lại, hoặc một phương pháp khác đạt được kết quả tương tự?


1
Hoặc bạn có thể sử dụng powershell: stackoverflow.com/questions/1741490/ cấp
Berzemus

Mong muốn một tệp.exe được MS cung cấp theo mặc định từ năm 2017 trong thư mục system32 hoặc trong các tệp chương trình / bất kỳ vị trí chuẩn nào. Đơn giản c exe 40k hoặc hơn!
tgkprog

Thích cái này ngủcmd.com
tgkprog

Câu trả lời:


30

Có nhiều tiện ích ngủ bạn có thể tải xuống và thả vào thư mục System32, một tiện ích được cung cấp với Bộ tài nguyên Windows Server 2003 được gọi sleep.exe.

Bạn cũng có thể sử dụng thủ thuật ping:

:sleep
ping 127.0.0.1 -n 2 -w 1000 > NUL
ping 127.0.0.1 -n %1 -w 1000 > NUL

sau đó từ một nơi nào đó trong tệp bó của bạn, bạn có thể gọi nó như vậy:

CALL :sleep 1

1
Thủ thuật ping có thể được sử dụng như một giải pháp bình thường, nhưng tôi thích một giải pháp chỉ đình chỉ quá trình, thay vì làm nó bận rộn với thời gian. Ngoài ra, một trong những mục trong danh sách mà bạn liên kết là thứ tôi đang tìm kiếm?
Cegorach

Bạn muốn ngủ.exe
John T

tôi đã thử CALL: ngủ 1 từ tệp bó thử nghiệm và nó phản hồi với "hệ thống không thể tìm thấy nhãn lô được chỉ định - SLEEP"
Cegorach

bởi vì bạn cần thêm chương trình con tôi đã đăng ở trên. Cuộc gọi chỉ gọi chương trình con, đó là 3 dòng tôi đã đăng ở trên lệnh gọi.
John T

126

Bạn có thể sử dụng timeoutlệnh:

Tiện ích này chấp nhận tham số hết thời gian chờ trong khoảng thời gian đã chỉ định (tính bằng giây) hoặc cho đến khi nhấn bất kỳ phím nào. Nó cũng chấp nhận một tham số để bỏ qua phím bấm.

Ví dụ: để chờ trong 10 giây:

TIMEOUT /T 10

Để biết thêm chi tiết:

TIMEOUT /?

1
Tại sao điều này không được chọn là câu trả lời đúng? một trong những hiện tại là rất xa nếu bạn hỏi tôi
Dany Khalife

7
@Dany: vì chủ đề là từ năm 2009, khi hầu hết các cài đặt là XP. Trước Vista, Timeout chỉ có trong phiên bản máy chủ và trong Bộ tài nguyên, không phải trên bản cài đặt XP thông thường. Ngày nay, thực sự, câu trả lời đúng là Hết giờ.
mivk

6
@DanyKhalife Trừ khi bạn muốn chạy tiến trình trong nền. "LRI: Chuyển hướng đầu vào không được hỗ trợ, thoát khỏi quy trình ngay lập tức."
Annan


6

Ngoài ra còn có

waitfor SomethingThatIsNeverHappening /t 10

Sẽ chờ trong khoảng từ 1 đến 99999 giây.



-1

Nếu bạn đã cài đặt Python (và thêm đường dẫn cài đặt vào biến môi trường của bạn), bạn có thể để Python thực hiện thao tác ngủ với nội dung như:

echo from time import sleep; sleep(3) | python

(Tuy nhiên, nếu bạn có Windows Vista trở lên, timeouttự nhiên là cách để đi.)

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.