我要遍历 File_1 并检查第四列。如果不为空,请写入 File_2 。
这里是 Files_1 :
1;2;3;;;;;;;10
1;2;3;4;;;;;;10
1;2;3;;5;;;;;10
这是我的批处理文件:
for /F "delims=; tokens=1-10" %%A in (File_1.txt) do (
if "%%D" NEQ "" (
echo hello World %%D >>File_2.txt
)
)
这是 File_2 中的内容:
hello World 10
hello World 4
hello World 5
为什么它并不总是在第四栏中阅读?
我期望的结果是:
hello World 4
我如何设法得到这个结果?
答案 0 :(得分:0)
在评论中回答了您的问题,并提出了解决方案时,我想我可以提供一种替代方法:
@Echo Off
SetLocal EnableDelayedExpansion
For /F "UseBackQ Delims=" %%A In ("File_1.txt") Do Call :Sub "%%A"
Pause
GoTo :EOF
:Sub
Set "Line=%~1"
Set "i=1"
Set "Token!i!=%Line:;="&Set/A i+=1&Set "Token!i!=%"
If Defined Token4 >>"File_2.txt" Echo Hello World %Token4%
Exit /B