求助,单位有100多台机子联网,为加强管理,不使用自动获取地址的方式,需要给每台机子单独配置IP,但每个人手工配置又太慢,因此想用批处理来生成一批配置bat,然后对应已有名单,分发给每个人,到时只要此人执行一下批处理,便可配置结束。由于网络定期会调整,因此用此方式效率能够提高很多。具体需求如下(环境为cmd):
1、IP的bat标准配置为:
@ echo off
netsh -c interface ip set address name="本地连接" source=static addr=192.168.1.xx mask=255.255.255.0
netsh -c interface ip set address name="本地连接" gateway=192.168.1.254 gwmetric=0
netsh -c interface ip set dns name="本地连接" source=static addr=218.2.135.1 register=PRIMARY
@echo off&setlocal enabledelayedexpansion
set n=1
for /f "delims=" %%i in (name.txt) do (
set/a n+=1
(echo netsh -c interface ip set address name="本地连接" source=static addr=192.168.1.!n! mask=255.255.255.0
echo netsh -c interface ip set address name="本地连接" gateway=192.168.1.254 gwmetric=0
echo netsh -c interface ip set dns name="本地连接" source=static addr=218.2.135.1 register=PRIMARY
)>>%%i!n!.txt
)
pause
因此,偶重新调整了一下terse老大的代码:
@echo off&setlocal enabledelayedexpansion
set n=1
for /f "delims=" %%i in (name.txt) do (
set/a n+=1
(echo @ echo off
echo netsh -c interface ip set address name="本地连接" source=static addr=192.168.1.!n! mask=255.255.255.0
echo netsh -c interface ip set address name="本地连接" gateway=192.168.1.254 gwmetric=0
echo netsh -c interface ip set dns name="本地连接" source=static addr=218.2.135.1 register=PRIMARY
)>> !n!%%i.bat
)
pause