中国DOS联盟论坛

中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --
联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum
游客 | 登录 | 注册 | 会员 | 搜索 | 中国DOS联盟
中国DOS联盟论坛
现在时间是 2026-08-06 18:12
48,039 主题排行 / 350,124 发帖 / 今日 0 篇 / 48,252 会员排行
DOS批处理 & 脚本技术(批处理室) » 自动改IP 计算机名
可打印版本  731 / 1
第1楼 qdloverr 发表于 2007-12-04 12:06
初级用户 发帖 33 积分 97
自动改IP 计算机名
自动改IP 计算机名 DNS NETBIOS 呵呵 有什么缺点请指出来,偶菜菜表骂
MAC是内置的,呵呵

color 7
mode con: cols=50 lines=20
@echo off
rem 机器名前缀
set jqm=GAME
rem 网段
set wd=192.168.0.
rem 网关
set wg=192.168.0.1
rem 主DNS
set dns=202.103.24.68
rem 次DNS
set dns2=202.103.0.117
rem 子网掩码
set zym=255.255.255.0
for /f "tokens=2 delims=:" %%a in ('ipconfig /all^|find /i "Physical Address"') do echo %%a>c:\MAC.txt
set /p MAC=<c:\MAC.txt
for /f "tokens=1,2,3* delims= " %%a in ('ipconfig^|find "Ethernet adapter"') do (
for /f "tokens=1 delims=:" %%g in ("%%c %%d") do echo %%g>c:\22.txt)
set /p lj=<c:\22.txt>nul
if %MAC%==00-E0-5E-39-52-A2 set ip=61&goto y
if %MAC%==00-E0-81-0A-8F-AA set ip=51&goto y











echo 没有找到对应的MAC
pause>nul
exit
:q
echo 你设置的IP的值超过了254
pause>nul
exit

:y
set var=%ip%
:lis
set /a num+=1
set var=%var:~1%
if defined var goto lis
if %num%==1 set jqm1=%jqm%00&set wh=00%ip%&goto A
if %num%==2 set jqm1=%jqm%0&set wh=0%ip%&goto A
if %num%==3 set jqm1=%jqm%&set wh=%ip%&goto A
:A
if %ip% GTR 254 goto q
echo 正在修改IP;DNS;网关;
echo 内部网络号;计算机名.
echo 不要关闭.
Netsh interface IP set Address "%lj%" Static addr="%wd%"%ip% mask="%zym%"
netsh interface ip set address name="%lj%" source=static gateway="%wg%" gwmetric=1
netsh interface ip set dns "%lj%" static addr="%dns%"
netsh -c interface ip add dns name="%lj%" "%dns2%"
reg add "HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\ComputerName\ActiveComputerName" /v ComputerName /t reg_sz /d "%jqm1%"%IP% /f>NUL
reg add "HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\Tcpip\Parameters" /v "NV Hostname" /t reg_sz /d "%jqm1%"%ip% /f>NUL
reg add "HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\Tcpip\Parameters" /v Hostname /t reg_sz /d "%jqm1%"%IP% /f>NUL
echo Windows Registry Editor Version 5.00 >c:\1.reg
echo. >>c:\1.reg
echo >>c:\1.reg
echo "VirtualNetworkNumber"=dword:00000%wh%>>c:\1.reg
regedit /s c:\1.reg
del c:\1.reg
del c:\22.txt
del c:\mac.txt
del %%0

[ Last edited by qdloverr on 2007-12-4 at 12:11 PM ]
第2楼 lxmxn 发表于 2007-12-04 12:09
版主 发帖 4,938 积分 11,386
把标题改一下吧,一般是你文章的第一句话就可以了。
[ 联系联盟系统管理团队 - 中国DOS联盟 - 标准版 ]
Sponsored by ifanr Inc | © 2001–2023