如何在批处理文件中替换部分IP地址

时间:2016-04-13 15:56:23

标签: batch-file

我想在批处理文件中替换 IP地址的某些部分

让我们说有一个变量

set ip=10.20.45.254

set ip=10.20.45.2

我必须将最后一部分更改为 1 ,如

10.20.45.254 -> 10.20.45.1

我试过查看本手册http://ss64.com/nt/syntax-replace.html 但我不确定如何准确检测IP的最后部分,因为它可以有不同的长度......

有可能吗?

3 个答案:

答案 0 :(得分:2)

批量试用(将test.txt替换为您的文件名)

for /F "tokens=1,2,3,4 delims=." %%a in (test.txt) do (echo %%a.%%b.%%c.1)

<强> P.S。试试这个......

rem -----------------------------------------
rem  Imagine that %line has some IP string...
SET  _IP=%line:~4% 
ECHO IP: %_IP%         
rem -----------------------------------------
timeout /t 2
for /f "tokens=1,2,3,4 delims=." %%a IN ("%_IP%") DO ( 
set gate=%%a.%%b.%%c.1 
)
ECHO Gateway IP: %gate%    

照顾好qoutes,它们是必不可少的("%_IP%")

答案 1 :(得分:1)

简单:

set ip=10.20.45.254
for %%a in (%ip%) do echo %%~Na.1

如果IP被存储为文件中的行,则此方法也有效:

for /F %%a in (ipList.txt) do echo %%~Na.1

答案 2 :(得分:-2)

您可以使用它来输入您想要的子网掩码为255.255.255.0的IP地址。

@echo off 
echo "Enter Static IP" 
echo "Static IP Address:" 
set /p IP_Addr=

netsh interface ip set address <Name of Network Adapter> static %IP_Addr% 255.255.255.0

您可以随时添加一个部分来询问子网,或者只是对其进行硬编码。