自动修改IP地址批处理
办公室老张每次换网段都要喊我,自动烦了三天后我写了这个脚本。修改三十行代码,地址双击一下就完事,批处他再也没来敲过我桌子。自动
说白了,修改批处理改IP就靠netsh interface ip set address这一条命令。地址你得先知道网卡叫什么名字——中文系统里通常叫“以太网”或“WLAN”,批处用netsh interface show interface查一眼,自动把那串名字原封不动抄进脚本里。修改名字带空格就得加引号,地址这是批处新手最容易翻车的地方。
我写的自动脚本长这样:
@echo off
netsh interface ip set address name="以太网" static 192.168.1.100 255.255.255.0 192.168.1.1
netsh interface ip set dns name="以太网" static 114.114.114.114
ipconfig /flushdns
echo 切换完成,当前IP:
ipconfig | findstr "IPv4"
第三行那个DNS地址,修改我故意写的地址是公共DNS。因为公司内网解析不了外网域名,用114反而快。有人会问,网关和DNS不都是固定的吗?错。你出差去客户现场,网关可能变成192.168.88.1,DNS变成客户内网的,这时候你得改脚本里的数字。干脆做成变量,每次运行前用set /p让用户输入,但那样老张又会嫌麻烦——他连双击都嫌费劲,还指望他敲键盘?
后来我加了判断逻辑。先ping 192.168.1.1 -n 1测当前网段通不通,通则保持原样退出,不通才执行切换。这样老张在办公室插网线,脚本会自动识别不用切;到了客户现场,一插网线双击脚本,立马变地址。他到现在都不知道里面有个if语句,只当是个魔法按钮。
还有个坑——管理员权限。UAC弹窗那一下,老张总点“否”,然后脚本报错“拒绝访问”。我教他把脚本右键“以管理员身份运行”,他记不住。最后我在脚本第一行加了runas自提权代码,弹窗出来他闭着眼点“是”就行。代码网上有现成的,搜“批处理自动获取管理员权限”,复制进去就完事。
这玩意儿真能救命。上个月机房改造,整个楼层IP段从172.16.0.x换成10.10.10.x,三十多台电脑我靠U盘拷脚本,一台台插过去双击,半小时搞定。隔壁部门用系统设置界面手动改,一台就得两分钟,还容易填错子网掩码。批处理的好处就是:错就错得一样,不会有人把255.255.255.0敲成255.255.0.0。
最后提醒一句,脚本别存桌面。老张有次误删了,又来找我。我把它藏到C盘根目录,建了个快捷方式叫“换IP”,图标改成绿色箭头,他双击得可欢了。批处理这东西,写一次能省十年腿,值得花十分钟搞明白。









