Сделайте что-нибудь каждые 10 секунд командного файла

У меня есть пакетный файл:

arp -s 192.168.1.254 xx-xx-xx-xx-xx-xx ipconfig /flushdns 

Как я могу выполнять эти две команды в Windows XP каждые 10 секунд?

  • Как использовать пакетный файл для рекурсивной замены строки в файлах?
  • Добавление записей в раздел реестра с использованием командного файла
  • Пакет рекурсивно удаляет старые файлы Windows
  • Запись в файл с командой «find» в пакетном скрипте
  • Как использовать `%` в пакетном файле
  • Как скопировать список имен файлов в текстовый файл?
  • Запись в файл с командой «find» в пакетном скрипте
  • Как использовать nircmd.exe и установить имя файла% ~ nF в пакетном режиме для цикла
  • Запуск командного файла при выходе из системы
  • Как использовать пакетный файл для рекурсивной замены строки в файлах?
  • Добавление записей в раздел реестра с использованием командного файла
  • Добавление дня недели к имени файла в пакетном файле
  • 7 Solutions collect form web for “Сделайте что-нибудь каждые 10 секунд командного файла”

    Попробуй это:

     :loop arp -s 192.168.1.254 xx-xx-xx-xx-xx-xx ipconfig /flushdns ping localhost -n 11 > nul goto loop 

    Команда ping будет выполняться в течение 10 секунд, и весь вывод будет перенаправлен на устройство NUL, что означает, что вы не увидите выхода из команды ping. Это действительно работает как команда «сна».

     :top arp -s 192.168.1.254 xx-xx-xx-xx-xx-xx ipconfig /flushdns sleep 10 goto top 

    Изменить: Как упоминалось в комментариях, SLEEP не будет доступен в обычной установке. Вам понадобится что-то вроде Windows 2003 Resource Kit или какой-то другой трюк, чтобы имитировать его (пинг-трюк Бруно упоминает), и заметки для этого можно найти здесь .

    Это составляет 10 секунд. задержка:

     timeout /t 10 

    Поэтому попробуйте следующее:

      :loop arp -s 192.168.1.254 xx-xx-xx-xx-xx-xx ipconfig /flushdns timeout /t 10 goto loop 

    Более точное решение ping неистребимого хоста один раз и установить таймаут

    Ping 1.0.0.0 -n 1 -w 10000> nul

    Но он генерирует паразитное движение

    Чит:

    Используйте эту команду, чтобы приостановить пакет в течение 10 секунд

    Выбор / n / t: c, <10> / c: cc

    Теперь поместите его в бесконечный цикл в партии и вуаля!

    Установите 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 
    Давайте будем гением компьютера.