需求:腳本啟動後持續檢測 d:\finish.fl,文件不存在則繼續輪詢;一旦出現立即刪除並退出。核心邏輯是 IF EXIST ... GOTO 形成的無限循環。
@echo off
set "TARGET=d:\finish.fl"
:CHECK
if exist "%TARGET%" (
del "%TARGET%"
echo 文件已刪除,腳本結束。
goto :EOF
)
:: 避免佔滿 CPU,休眠 500ms(需 ping 技巧或 timeout)
ping -n 1 127.0.0.1 >nul
goto CHECK
ping -n 1 127.0.0.1 實現約 1 秒延遲(Win7+ 可用 timeout /t 1),防止空循環佔用 100% CPU。goto :EOF 正確退出批處理,而非僅跳過標籤。更健壯、可讀性更強:
while (-not (Test-Path 'd:\finish.fl')) { Start-Sleep -Milliseconds 500 }
Remove-Item 'd:\finish.fl' -Force