2016-06-24 234 views
1

我試圖使用for循環,並通過線 讀取文件行的​​內容的文件是一個XML 和包含<>for循環批處理腳本teminates批

我使用的分隔URL和路徑下面的代碼

set @LOGFILE=F:\nircmd\hosts.xml 
:loop 
for /F "tokens=2-3 delims=<>" %%a in (%LOGFILE%)do echo "it works" 
timeout /t 
goto :loop 

該批次儘快結束,因爲它遇到了循環

我已經嘗試暫停或超時批 但似乎沒有任何禾rk 批量無論如何終止

該怎麼辦?

+0

基本故障排除:a)不與DoubleClick運行,但manally從'cmd'保持窗口打開,這樣你就可以看到errormessages。 b)用'echo on'運行它以查看究竟執行了什麼。 – Stephan

+0

我試過了,它立即停在循環,然後終止批處理 –

回答

1

這是因爲沒有變量LOGFILE;您將您的變量命名爲@LOGFILE。因此,for循環會遇到錯誤,因爲它找不到要讀取的文件,並且諸如這些錯誤會終止批處理文件。因此,無論使用

for /F "tokens=2-3 delims=<>" %%a in (%@LOGFILE%) 

set LOGFILE=F:\nircmd\hosts.xml 
+0

是的,它的工作原理,但是當我在括號後通過相同的回聲後,它又終止 –