在.bat中使用Sleep with findstr

时间:2010-05-07 02:06:56

标签: sleep findstr

我使用以下行创建了一个.bat文件

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

执行蝙蝠时,SLEEP无效,命令不断运行。

代码有什么问题吗?请帮忙!

2 个答案:

答案 0 :(得分:2)

我认为Windows不具有sleep,您可以使用ping模拟它,如此示例chkwait.cmd脚本所示:

    @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将等待20秒:

pax> chkwait
10:18:13.42
10:18:33.51

答案 1 :(得分:0)

Windows批处理脚本中不存在SLEEP。您可以创建自己的Sleep包装器EXE并从批处理中调用它。或者使用上面@paxdiablo的巧妙技巧。