2014-12-16 3 views
-1

Описание названия как указано. Я очень новичок в этом, поэтому, пожалуйста, успокойся. Я искал статьи здесь и пробовал несколько итераций о том, как это сделать, но мои попытки потерпели неудачу. Мне нужно запустить Netstat -anbo каждые 30 минут в текстовый файл и сохранить их в течение как минимум 5 файлов. Спасибо.Нужна партия для Netstat -anbo, чтобы она работала 30 минут.

ответ

0

Вот как вы можете запустить что-то каждые несколько секунд в пакетном сценарии, без утилиты «сон» .. Я оставлю реализацию до вас :)

@ :loop 
REM "do something every 10 secs" 
@ ping localhost -n 11 > nul 
@ goto loop 

пинг действует как сон здесь. вы можете даже пинговать любому несуществующему хосту.

Если вы хотите получить более точный промежуток времени, вы лучше использовать

@ :loop 
REM Execute the MS-DOS dir command ever 20 seconds. 
@ SLEEP 20 
@ GOTO loop 

Для этого, чтобы работать, вам нужно будет иметь сна MS-DOS утилиту на компьютере. Вы можете найти его here

+0

Итак, мой пакет будет выглядеть примерно так? : @: loop REM "netstat -anbo> c: \ folder \ text.txt каждые 1800 секунд" @ ping localhost -n 11> nul @ goto loop – user3656918

+0

вам потребуется отрегулировать временной интервал и заменить оператор REM с тем, что вам нужно, чтобы ваш скрипт выполнялся через каждые n секунд. – Shaunak

+0

почему мне нужен пинг, если он уже работает netstat каждые 1800 секунд? – user3656918

0

Вы должны использовать простой цикл и timeout

А пример реализации

@echo off 
:loop 
    netstat -anbo >> file.txt # >> Will append to file instead of erasing file content 
    timeout /t 1800 /nobreak # /t timeout in seconds /nobreak Ignore key presses and wait for specified time 
    goto :loop #Simple loop to keep batch running indefinitely 

Не забудьте запустить эту партию в качестве администратора (для NetStat)

+0

Я протестировал выше, установил T to 60. Он создает мою партию, но, похоже, не работает netstat, так как файл пуст. Я также ждал еще 60, и снова все еще пусто. Мысли? – user3656918

+0

Ummm, проверьте, где файл записывается, возможно, у него нет прав на запись в этом месте, изменение пути к рабочему столу или что-то в этом роде. Я тестировал на своей машине, работая как администратор, и файл был записан в папку system32 без проблем. – Jhon

Смежные вопросы