Правильный ответ для любой версии Windows сделан в последнее десятилетие (включая Windows XP, указанную в вопросе). Спасибо :-)
woot
На самом деле он ждет -1 - 99 999 секунд (~~ 1day3,7h | windows7) - число, указанное в /tOR для нажатия любой клавиши, - которое можно отключить, отправив /NOBREAKparam :)
Команда ping будет выполняться в течение 10 секунд, и все выходные данные будут перенаправлены на устройство NUL, а это означает, что вы не увидите выходных данных команды ping. Это действительно работает как команда «сна».
Изменить: как уже упоминалось в комментариях, SLEEPне будет доступно при обычной установке. Вам понадобится что-то вроде Windows 2003 Resource Kit или какой-то другой трюк для его симуляции (трюк для пинга, упоминает Бруно), и заметки для этого можно найти здесь .
сон не включен по умолчанию. Вам нужен набор ресурсов или что-то, чтобы получить это?
Marcc
Что именно мне нужно?
Не так ли? Я мог бы поклясться, что это было то, на что я мог рассчитывать, но я думаю, что choiceэто не может быть включено стандартом. Я посмотрю на это больше.
1
Нет необходимости устанавливать что-либо еще в Windows, чтобы «подделать» команду сна. Посмотрите на мой ответ для примера.
1
Более точное решение пингует несуществующий хост один раз и устанавливает таймаут
Или, если хотите, загрузите набор ресурсов или напишите простую прогу в спящем режиме 10. Однако мой метод будет означать, что вы можете переместить его на другой компьютер без необходимости загружать больше программного обеспечения снова.
Я не думал, что choiceпришел с XP и позже, или, по крайней мере, я не видел его в последних установках.
1
Я использую Vanilla Vista Home Premium на этом ноутбуке, и он работает нормально.
нет "выбора" для windows xp !!!
Кокбира
0
Установите Cygwin, который сделает sleepи cronдоступен для вас (среди прочего).
ниже, это уродливый и красивый способ, пакетный файл Windows - он тратит много времени процессора, чтобы ничего не делать, но он делает то, что вы хотите, и это очень приятно.
SETLOCAL EnableDelayedExpansion
::in seconds
set time2stop=10
:loop1
arp -s 192.168.1.254 xx-xx-xx-xx-xx-xx
ipconfig /flushdns
for /f "tokens=1,2* delims=:" %%i in ("!time!") do (
set hour1=%%i
set min1=%%j
set sec1=%%k
)
for /f "tokens=1* delims=," %%i in ("!sec1!") do (
set isec1=%%i
)
:loop2
for /f "tokens=1,2* delims=:" %%i in ("!time!") do (
set hour2=%%i
set min2=%%j
set sec2=%%k
)
for /f "tokens=1* delims=," %%i in ("!sec2!") do (
set isec2=%%i
)
set /a delta=3600*(!hour2!-!hour1!)+60*(!min2!-!min1!)+(!isec2!-!isec1!)
if !delta! geq !time2stop! goto end2
goto loop2
:end2
@echo on
goto loop1
Другой способ - выполнить некоторую последовательность циклов, например, повторить (для / l %% i в (1,165535) ничего не устанавливать = 0) несколько раз и «откалибровать» «сколько раз» нужно повторить тестирование, чтобы результат за 10 секунд, хахаха. но это самый уродливый путь.
Кокбира
Вы также можете создать несколько пакетов Windows для использования в качестве функций (один для разделения времени, другой для ожидания ...), но это будет более сложным ...
kokbira
Я думаю, что это вызовет ошибку, если вы используете его с 23:59:51 до 23:59:59 - в этом случае пакет будет ждать вечно ... некоторое "если" решит проблему ...
Кокбира
если вы хотите выполнить тестирование в течение фиксированного времени (а не времени + 10 секунд), вы можете просто сделать «if% time% geq 10:30 do goto end». решение стало сложным, потому что сумма ...
Кокбира
Это на самом деле ужасно. Прежде всего, занят ожидания. излишняя потеря циклов ЦП никогда не является хорошей идеей (если только на встроенном оборудовании). Это также, кажется, не работает правильно около полуночи.
Ответы:
это составляет 10 сек. задержка:
так что попробуйте это:
источник
/t
OR для нажатия любой клавиши, - которое можно отключить, отправив/NOBREAK
param :)Попробуй это:
Команда ping будет выполняться в течение 10 секунд, и все выходные данные будут перенаправлены на устройство NUL, а это означает, что вы не увидите выходных данных команды ping. Это действительно работает как команда «сна».
источник
Изменить: как уже упоминалось в комментариях,
SLEEP
не будет доступно при обычной установке. Вам понадобится что-то вроде Windows 2003 Resource Kit или какой-то другой трюк для его симуляции (трюк для пинга, упоминает Бруно), и заметки для этого можно найти здесь .источник
choice
это не может быть включено стандартом. Я посмотрю на это больше.Более точное решение пингует несуществующий хост один раз и устанавливает таймаут
Но это генерирует паразитный трафик
источник
Вы можете использовать команду
for
иping
:Вы можете использовать,
ping -n [secs+1] localhost >nul
чтобы ждать определенное количество времени в секундах.источник
goto
.Чит:
Используйте эту команду, чтобы приостановить пакет на 10 секунд
выбор / н / т: с, <10> / с: куб.
Теперь поместите его в бесконечный цикл в пакете и вуаля!
источник
choice
пришел с XP и позже, или, по крайней мере, я не видел его в последних установках.Установите Cygwin, который сделает
sleep
иcron
доступен для вас (среди прочего).источник
ниже, это уродливый и красивый способ, пакетный файл Windows - он тратит много времени процессора, чтобы ничего не делать, но он делает то, что вы хотите, и это очень приятно.
источник