Batch file 替换批处理脚本中的部分IP
我知道有一个类似的话题,但它不适合我。我的问题是希望能够自动更改我的ip地址 例如,我有一个子网/29,有5个工作ip,第一个可用ip是12.345.678.90,我希望脚本将此ip更改为12.345.678.91和12.345.678.92,所以原始ip和+2之间的差异,脚本必须将这些ip指向脚本或txt文件上的不同位置。我的问题是,我不知道如何让脚本更改+1和+2的IP。请注意,我将粘贴的IP每次都会不同。希望我能清楚地解释我需要什么 到目前为止,我有这样的想法:Batch file 替换批处理脚本中的部分IP,batch-file,ip-address,subnet,Batch File,Ip Address,Subnet,我知道有一个类似的话题,但它不适合我。我的问题是希望能够自动更改我的ip地址 例如,我有一个子网/29,有5个工作ip,第一个可用ip是12.345.678.90,我希望脚本将此ip更改为12.345.678.91和12.345.678.92,所以原始ip和+2之间的差异,脚本必须将这些ip指向脚本或txt文件上的不同位置。我的问题是,我不知道如何让脚本更改+1和+2的IP。请注意,我将粘贴的IP每次都会不同。希望我能清楚地解释我需要什么 到目前为止,我有这样的想法: set /p WAN1="
set /p WAN1=">>"
set /p WAN2=">>"
set /p WAN3=">>"
set /p WAN4=">>"
set /a WAN5=%WAN4%+1
set /a WAN6=%WAN4%+2
不过,我更愿意粘贴整个IP地址,而不是键入每个模块
提前感谢您的帮助。拆分IP,在最后一个号码上添加一个,然后重新组装:
@echo off
setlocal EnableDelayedExpansion
set /p "wlan4=WLAN4: "
for /f "tokens=1-4 delims=." %%a in ("%wlan4%") do (
set /a last=%%d+1
echo %%a.%%b.%%c.!last!
)
或者,如果您不喜欢使用延迟扩展:
@echo off
setlocal
set /p "wlan4=WLAN4: "
for /f "tokens=1-4 delims=." %%a in ("%wlan4%") do (
set /a last=%%d
set "base=%%a.%%b.%%c"
)
set /a w5=last+1
set /a w6=last+2
set "wlan5=%base%.%w5%"
set "wlan6=%base%.%w6%"
set wlan
示例输入文件和预期输出将有助于获得更多答案。欢迎作为新用户使用SO。请带上这本书,同时阅读。不是免费的脚本编写服务。希望有自己的研究和代码尝试。问题是如何将您的代码包含在文档中。您应该选择一个标记,bash和批处理文件通常相互排斥。您是指“bash”还是“批处理”?不能两者都是。如果这是bash,而不是批处理,那么你可以使用批处理,对不起,这是一个错误,谢谢你,这工作得很好,非常感谢这几天一直困扰着我days@Maciej当前位置请将问题标记为已解决。