有没有办法“拆分”批处理文件读取的字符串行的值?假设有这个文本文件
192.168.1.2;PC名称_1
192.168.1.3;PC名称_3
...
我想读取第 1 行,并将值分成两个变量...这样我可以使用 IP 地址,以及 PC 名称(用于其他目的)...例如:
对于/f %%x 在(txtfile.txt)中执行(....
谢谢
答案1
是的,可以这样做。使用特殊的 FOR 语法
for /F "delims=," %A in (filename.txt) do call subbatch.bat %A %B %C %D %E
这样只需用逗号就可以将其拆分。但默认情况下,它会用空格和制表符进行拆分。'tokens' 术语可以指定您要处理多少个
for /F "tokens=1,2,3,*" %A in (filename.txt) do call subbatch.bat %A %B %C "%D"
在这种情况下, %D 将包含从第四个分隔符及以后的所有内容。
不过,要记住的是,“Do”不是过程块,而是一次性调用。这时可以使用“goto”或“call”来调用进一步的逻辑。上面的示例调用另一个批处理文件并将所需的参数作为命令行选项传入,因此对于那些子批处理文件,变量将位于 %1 和 %2 上。