网吧或学校机房一键修改计算机名、IP地址、子网掩码等批处理
PS:
1、批处理中不能用//作为注释,需要用::echo
2、netsh interface ip set address是把创建好的变量输入到正确的地址中,后面是网络名称、ip地址、网关、掩码。
具体如下:netsh interface ip set address %eth% static %ip% %netmasks% %gateway% 1
3、关于乱码问题,直接把你的bat文件另存为,然后编码选择ANSI即可。
4、还有一个就是如果输入1,就是自动获取ip,输入2就是固定ip,
if “%aa%” equ “1” goto n1
if “%aa%” equ “2” goto n2
具体的代码如下所示。(注意set eth="以太网"这里,必须跟电脑的网络名称一致。)如需运行完脚本删除自身请在善后处理下面加入del %0代码
@echo off
echo 1、自动获得IP
echo 2、固定IP
set /p aa=请选择[序号]:
if "%aa%" equ "1" goto n1
if "%aa%" equ "2" goto n2
:n2
::定义变量
set ip4=1
set ip3=192.168.2.
set/p ip4=请输入IP地址的第四位(在10-255之间):
set eth="以太网"
::echo 设置ip
set ip=%ip3%%ip4%
::echo 设置网关
set gateway=192.168.2.1
::echo 设置掩码
set netmasks=255.255.255.0
::echo 设置首选DNS
set dns1=61.128.114.166
::echo 设置备用DNS
set dns2=61.128.114.133
echo 正在将本机IP更改到:%ip%
netsh interface ip set address %eth% static %ip% %netmasks% %gateway% 1
echo 正在添加本机主DNS:%dns1%
netsh interface ip set dns %eth% static %dns1% primary
echo 正在添加本机副DNS:%dns2%
netsh interface ip add dns %eth% %dns2%
echo ------------------------------
echo IP更改完毕,检查当前配置...
echo ------------------------------
ipconfig /all
pause
:n1
echo 自动获取IP地址....
netsh interface ip set address name = "以太网" source = dhcp
echo 自动获取DNS服务器....
netsh interface ip set dns name = "以太网" source = dhcp
Echo 自动获取IP成功
Pause
::修改计算机名
::定义计算机名变量
set nameq=pc
set name=%nameq%%ip4%
reg add "HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\ComputerName\ActiveComputerName" /v %name% /t reg_sz /d %name% /f >nul
reg add "HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\Tcpip\Parameters" /v "NV Hostname" /t reg_sz /d %name% /f >nul
reg add "HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\Tcpip\Parameters" /v "Hostname" /t reg_sz /d %name% /f >nul
reg add "HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Control\ComputerName\ComputerName" /v %name% /t reg_sz /d %name% /f
::善后处理
exit
如果不需要检查直接修改,就把Pause删除就可以了,或者用以下代码
@echo off
:: 定义变量
set ip4=1
set ip3=192.168.2.
set /p ip4=请输入IP地址的第四位(在10-255之间):
set eth="以太网"
:: 设置IP
set ip=%ip3%%ip4%
:: 设置网关
set gateway=192.168.2.1
:: 设置掩码
set netmasks=255.255.255.0
:: 设置首选DNS
set dns1=61.128.114.166
:: 设置备用DNS
set dns2=61.128.114.133
:: 输出日志
echo 正在将本机IP更改到:%ip%
echo 正在添加本机主DNS:%dns1%
echo 正在添加本机副DNS:%dns2%
:: 设置计算机名称
set nameq=pc
set name=%nameq%%ip4%
:: 更改IP地址和DNS
netsh interface ip set address %eth% static %ip% %netmasks% %gateway% 1
netsh interface ip set dns %eth% static %dns1% primary
netsh interface ip add dns %eth% %dns2%
:: 更改计算机名称
reg add "HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\ComputerName\ActiveComputerName" /v %name% /t reg_sz /d %name% /f >nul
reg add "HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\Tcpip\Parameters" /v "NV Hostname" /t reg_sz /d %name% /f >nul
reg add "HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\Tcpip\Parameters" /v "Hostname" /t reg_sz /d %name% /f >nul
reg add "HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Control\ComputerName\ComputerName" /v %name% /t reg_sz /d %name% /f
:: 等待一段时间以查看日志
timeout /t 10
:: 删除自身
del "%~f0"