批处理文件设置IP范围的前3个八位位组,然后提示用户输入最后一个八位位组...然后将两者合在一起设置IP地址

时间:2019-01-20 14:00:16

标签: batch-file

我一直在处理批处理文件,以在不同位置设置计算机。

在批处理开始时,如果需要,我想设置IP范围的前3个八位字节,并将其保存到文本文件中。

我目前正在使用:

cls & set /p IPRANGE=Please Type the first 3 octets of the IP Range for example 10.202.204:
Echo %IPRANGE% > %~d0\StagingTool\iprange.txt
Notepad %~d0\StagingTool\iprange.txt

然后,我要设置的每台计算机都要求用户输入最后一个八位位组...

我尝试了以下操作:

set /p LASTOCT=Please type in the last Octet for example .41 :
set /p PUSHLASTOCT=%LASTOCT% >%~d0\StagingTool\lastip.txt
set /p FIRST3=<%~d0\StagingTool\IPRANGE.txt
set /p LAST1=<%~d0\StagingTool\LASTIP.txt
set /p FINALIP=%FIRST3%%LAST1% >%~d0\StagingTool\FINALIP.txt
set /p INSERTIP=<%~d0\StagingTool\FINALIP.txt
set /p SUBNET=<%~d0\StagingTool\subnet.txt
set /p GATEWAY=<%~d0\StagingTool\gateway.txt
netsh interface ip set address name="Wi-Fi" static %INSERTIP% %subnet% %gateway% & echo.

从上面可以看到,我正在尝试将前3个八位位组和最后一个八位位组放在一起以形成最终IP。

在FINALIP.txt中,两个输入之间有一个空格,例如192.168.1 .35,这意味着运行设置的地址时IPV4地址无效。

有什么想法可以解决或更好地实现吗?

谢谢!

1 个答案:

答案 0 :(得分:0)

您正在使用echo Echo %IPRANGE% > %~d0\StagingTool\iprange.txt空格,该空格需要删除。您可以编写:

echo %IPRANGE%>%~d0\StagingTool\iprange.txt

或:

echo %IPRANGE%> %~d0\StagingTool\iprange.txt

或更简单:

(echo %IPRANGE%)>%~d0\StagingTool\iprange.txt