input.txt文件包含32條記錄,但只有18條記錄在output.txt文件中使用循環批處理腳本處理。任何幫助非常感謝!批處理腳本中的循環未處理輸入文件中的所有記錄
代碼如下(請注意,回聲>>%標準輸出%已經50行:過程聲明不復制到此處):
@echo off
set "source=C:\test\test\input.txt"
set "stdout=C:\test\test\output.txt"
for /f "tokens=1,2,3,4 delims='" %%a in (%source%) do (
set partner=%%a&set blank=%%b&set comment=%%c&set host=%%d&set
call :process
)
goto :eof
:process
SETLOCAL EnableDelayedExpansion
SET host_final=%host:~1%
echo >> %stdout% partner=%partner% comment=%comment% host=%host_final%
echo >> %stdout% XXXXXXXXXXXXXXXXXXXXXX
....
echo >> %stdout% (line 50 end of %partner%)
ENDLOCAL
goto :eof
如果問題出在數據文件上,您應該發佈數據文件,否則我們只能猜測出現了什麼問題......但是,我敢打賭,未處理的記錄以分號';'開頭,這是'for/F'命令中默認的'eol =;'字符。 – Aacini
是的,正確的問題是字符'|'在數據文件中。我糾正了分隔符,循環處理了所有記錄。謝謝您的回覆。 – MartaT