Использование Sleep с findstr в .bat - PullRequest
0 голосов
/ 07 мая 2010

Я создал .bat файл со строками ниже

cd C:\MyFolder
d:
findstr "Apple" C:\log.txt |findstr "red" > red_apples.txt
SLEEP 3600
GOTO START

Когда летучая мышь выполнена, SLEEP не работает и команды выполняются постоянно.

Что-то не так с кодом? Пожалуйста, помогите!

Ответы [ 2 ]

2 голосов
/ 07 мая 2010

Я не верю, что у Windows есть sleep, вы можете эмулировать его с помощью ping, как показано в этом примере chkwait.cmd script:

    @setlocal enableextensions enabledelayedexpansion
    @echo off
    echo %time%
    call :waitfor 20
    echo %time%
    endlocal
    goto :eof

:waitfor
    setlocal
    set /a "t = %1 + 1"
    >nul ping 127.0.0.1 -n %t%
    endlocal
    goto :eof

call :waitfor 20 в приведенном вышескрипт будет ждать двадцать секунд:

pax> chkwait
10:18:13.42
10:18:33.51
0 голосов
/ 07 мая 2010

SLEEP не существует в пакетном скрипте Windows. Вы должны создать свой собственный EXE-обертка Sleep и вызывать его из пакета. Или используйте хитрый трюк из @paxdiablo выше.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...