如何在批处理文件中拆分变量

时间:2014-10-23 21:41:15

标签: variables batch-file cmd split ip

我需要从变量中获取IP,并替换最后3位数。所以我需要它采取%IPvariable%并删除最后三位数并将前六个保存为其他变量。任何帮助深表感谢。 :)

3 个答案:

答案 0 :(得分:1)

在命令行上运行此示例:

FOR /F "tokens=1-4 delims=." %G IN ("127.0.0.254") DO echo %G %H %I %J

在批处理文件中,您需要在变量前面添加额外的%(即%G - > %% G)

一旦你将IP分成4块,就可以按照你的需要重新组装。

类似的东西:

FOR /F "tokens=1-4 delims=." %G IN ("127.0.0.254") DO echo %G %H %I %J & set "var=%G.%H.%I" & echo %var%

您当然会更换" 127.0.0.254"带有%IPvariable%的硬编码IP。

有关FOR / F的详细信息,请参阅此处:http://ss64.com/nt/for_f.html

答案 1 :(得分:0)

另一种方式,如果你确定总是最后3位数字:

@echo off
Set "$ip=127.0.0.254"
set "$New=253"

set "$ipnew=%$ip:~0,-3%%$New%"

echo New IP = %$IpNew%

答案 2 :(得分:0)

这会将批处理文件中的最后一个八位字节更改为666

for %%a in (%IPvariable%) do set IPvariable=%%~na.666