以下の行で.batファイルを作成しました
cd C:\MyFolder
d:
findstr "Apple" C:\log.txt |findstr "red" > red_apples.txt
SLEEP 3600
GOTO START
バットが実行されると、SLEEP は機能せず、コマンドは継続的に実行されます。
コードに何か問題がありますか?助けてください !
次のサンプルスクリプトに示すように、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
SLEEP は、Windows バッチ スクリプトには存在しません。独自の Sleep ラッパー EXE を作成し、それをバッチから呼び出します。または、上記の @paxdiablo の巧妙なトリックを使用してください。