首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> 更多程式語言 >> 程式設計綜合問答

BAT 腳本實現輪詢等待文件出現並刪除:無限循環與退出技巧

     編輯:程式設計綜合問答

需求:腳本啟動後持續檢測 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 正確退出批處理,而非僅跳過標籤。
  • 若需管理員權限刪除系統文件,請以管理員身份運行 CMD。

進階:PowerShell 替代

更健壯、可讀性更強:

while (-not (Test-Path 'd:\finish.fl')) { Start-Sleep -Milliseconds 500 }
Remove-Item 'd:\finish.fl' -Force
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved