我想在批处理文件中替换 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的最后部分,因为它可以有不同的长度......
有可能吗?
答案 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
您可以随时添加一个部分来询问子网,或者只是对其进行硬编码。