0

以下の行で.batファイルを作成しました

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

バットが実行されると、SLEEP は機能せず、コマンドは継続的に実行されます。

コードに何か問題がありますか?助けてください !

4

2 に答える 2

2

次のサンプルスクリプトに示すように、Windows に があるとは思わないのでsleep、 でエミュレートできます。pingchkwait.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
于 2010-05-07T02:14:35.677 に答える
0

SLEEP は、Windows バッチ スクリプトには存在しません。独自の Sleep ラッパー EXE を作成し、それをバッチから呼び出します。または、上記の @paxdiablo の巧妙なトリックを使用してください。

于 2010-05-07T02:29:39.320 に答える