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