有没有办法“拆分”string行的batch file的价值? 假设有这个文本文件
192.168.1.2; PC_NAME_1
192.168.1.3; PC_NAME_3
…
我想读第1行,并将值分成两个variables…所以我可以使用IP地址,也可以,PC名称(用于其他目的)…例如:
为/ f %% x in(txtfile.txt)do(….
谢谢
是的,这可以做到。 使用特殊的FOR语法
for /F "delims=," %A in (filename.txt) do call subbatch.bat %A %B %C %D %E
这将分裂在一个逗号。 但是默认情况下,它会在空间和标签上分割。 “令牌”术语可以指定你想要处理的数量
for /F "tokens=1,2,3,*" %A in (filename.txt) do call subbatch.bat %A %B %C "%D"
在这种情况下,%D将包含第四个分隔符以及之后的所有内容。
不过要记住的是,“Do”不是一个程序块,而是一次性的调用。 这是“goto”或“call”可以用来调用更多逻辑的地方。 我上面的例子调用另一个batch file,并将所需的参数作为命令行选项传递,因此对于这些子batch file,variables将位于%1和%2上。