Как да заспим за пет секунди в пакетния файл/cmd

Инструментът за изрязване на Windows може да заснема екрана, но понякога искам да заснема екрана след пет секунди, например като заснемам изображение, показвано от уеб камерата. (Стартирайте скрипта и се усмихнете на камерата, например.)

Как да заснема за 5 секунди в пакетния файл?

Решение

Един от начините е (неправилното) използване на командата ping:

ping 127.0.0.1 -n 6 > nul

Обяснение:

  • ping е системна програма, която изпраща заявки за ping. ping е наличен във всички версии на Windows.
  • 127.0.0.1 е IP адресът на localhost. Гарантирано е, че този IP адрес винаги ще бъде разрешен, ще бъде достъпен и ще отговаря незабавно на ping.
  • -n 6 указва, че трябва да има 6 пинга. Между всеки пинг има закъснение от 1 секунда, така че за закъснение от 5 секунди трябва да изпратите 6 пинга.
  • > nul потиска изхода на ping, като го пренасочва към nul.
Коментари (13)

Следният хак ви позволява да спите за 5 секунди

ping -n 6 127.0.0.1 > nul

Тъй като ping изчаква една секунда между пинговете, трябва да посочите една секунда повече, отколкото ви е необходимо.

Коментари (3)

Можете да използвате VBScript, например файла myscript.vbs:

set wsobject = wscript.createobject("wscript.shell")

do while 1=1
    wsobject.run "SnippingTool.exe",0,TRUE
    wscript.sleep 3000
loop

Партиден файл:

cscript myscript.vbs %1
Коментари (1)