Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/batch-file/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Batch file 替换批处理脚本中的部分IP_Batch File_Ip Address_Subnet - Fatal编程技术网

Batch file 替换批处理脚本中的部分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="

我知道有一个类似的话题,但它不适合我。我的问题是希望能够自动更改我的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 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当前位置请将问题标记为已解决。