无忧启动论坛

 找回密码
 注册
搜索
系统gho:最纯净好用系统下载站广告联系 微信:wuyouceo QQ:184822951
查看: 6486|回复: 4
打印 上一主题 下一主题

我也发个修改IP地址等的批处理

[复制链接]
跳转到指定楼层
1#
发表于 2007-7-31 12:58:23 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
我都搞忘从那里找到了。转贴在这里希望原作者别找我麻烦:lol

希望有高人能把它改成VSB的方式。

@echo off
:main
cls
echo.
echo          1.生成自动配置计算机名,DNS,网关,IP脚本,IPX内部网络号
echo.
echo          2.网刻服务器自动配置
echo.
echo          3.电信网通线路切换生成器
echo.
echo          4.退出脚本
echo.
echo 请输入1,2,3或4,输入其他字符,会爆炸、造成山崩、洪水、外星人入侵.

:restart1
set /p select=请输入:
set /a select=%select%-0
if %select%==1 goto ipdnsipx
if %select%==2 goto netghost
if %select%==3 goto dianxin
if %select%==4 goto endend
if %select% gtr 4 goto errorselect1
:ipdnsipx
cls
echo.              ------------------------说明---------------------------
echo.                      本批处理可以根据不同使用场合按照提示
echo.                      输入IP,DNS(最多支持两个DNS),网关,计算
echo.                      机名.生成配置相关信息的脚本功能.
echo.              -------------------------------------------------------
:restart5
color 0a
echo.
echo 请输入1或者2,输入其他字符,后果自负.
echo.
echo              1.生成自动配置计算机名,DNS,网关,IP脚本,IPX内部网络号
echo.
echo              2.返回主菜单
echo.
set /p select=请输入:
set /a select=%select%-0
if %select%==1 goto config5
if %select%==2 goto  main
if %select% gtr 2 goto errorselect5
:config5
echo 开始生成配置计算机名,网关,DNS,IP,IPX协议内部网络号的脚本...
echo 请根据提示输入必要的参数.
echo.
set ipaddr=192.168.0.
set mask1=254
set submask1=255.255.255.0
set qz=pc
set dns1=61.139.2.69
echo 默认计算机名前缀为:%qz%,IP地址前三字段为:%ipaddr%,网关为:%ipaddr%%mask1%,
echo 子网掩码为%submask1%,第一DNS为%dns1%,第二DNS为网关地址.
echo 如需修改这里的信息,请注意下面的提示,按照提示输入即可完成相关信息的修改.
echo 否则,直接敲回车键将使用默认配置.
echo.
set /p ipaddr=请输入IP地址的前三个字段例如:192.168.0. 一定要按照这个格式输入:
color 70
set /p mask1=请输入网关最后一个字段,例如192.168.0.254中的254:
color 71
set /p submask1=请输入子网掩码,格式为255.255.255.0:
color 74
set /p qz=请输入计算机名前缀:
color 72
set /p dns1=请输入第一DNS地址:
color 73
set dns2=%ipaddr%%mask1%
set /p dns2=请输入第二DNS地址:
color fc
echo 正在生成配置脚本

echo @echo off>%systemroot%\ipconfig.bat
echo cls>>%systemroot%\ipconfig.bat
echo echo.>>%systemroot%\ipconfig.bat
echo echo              ------------------------说明-------------------------->>%systemroot%\ipconfig.bat
echo echo                      本批处理可以实现根据需要自动配置IP,  >>%systemroot%\ipconfig.bat
echo echo                      DNS,网关,计算机名,最多支持两个DNS   >>%systemroot%\ipconfig.bat
echo echo                      批处理启动密码为123456,可以自己根据   >>%systemroot%\ipconfig.bat
echo echo                      需要修改变量PW来改变启动密码。修改适  >>%systemroot%\ipconfig.bat
echo echo                      合自己的DNS,网关,计算机名.可以看批  >>%systemroot%\ipconfig.bat
echo echo                      处理的相关注释的地方,在批处理的结尾  >>%systemroot%\ipconfig.bat
echo echo                      还可以继续进行添加命令,实现更多功能,>>%systemroot%\ipconfig.bat
echo echo                      例如,导入CS的CD-KEY,自动安装冰点等. >>%systemroot%\ipconfig.bat
echo echo              ------------------------------------------------------->>%systemroot%\ipconfig.bat
echo set sz=5 >>%systemroot%\ipconfig.bat
echo :pw>>%systemroot%\ipconfig.bat
echo set /p pw=请输入密码:>>%systemroot%\ipconfig.bat
echo set /a sz=%%sz%%-1 >>%systemroot%\ipconfig.bat
echo if %%pw%%==123456 goto config>>%systemroot%\ipconfig.bat
echo echo 密码错误,还有%%sz%%次机会>>%systemroot%\ipconfig.bat
echo if %%sz%%==0 exit>>%systemroot%\ipconfig.bat
echo color ca >>%systemroot%\ipconfig.bat
echo goto pw>>%systemroot%\ipconfig.bat

echo :config>>%systemroot%\ipconfig.bat
echo cls>>%systemroot%\ipconfig.bat
echo color 0A>>%systemroot%\ipconfig.bat
echo echo 欢迎使用>>%systemroot%\ipconfig.bat
echo echo.>>%systemroot%\ipconfig.bat
echo cls>>%systemroot%\ipconfig.bat
echo :ipconfigstart>>%systemroot%\ipconfig.bat
echo set ip=0 >>%systemroot%\ipconfig.bat
echo echo 请输入本机的IP地址最后一位例如192.168.0.10中的10>>%systemroot%\ipconfig.bat
echo set /p ip=请输入IP:>>%systemroot%\ipconfig.bat
echo if %%ip%%==0 goto errorip >>%systemroot%\ipconfig.bat
echo set /a ip=%%ip%%-0>>%systemroot%\ipconfig.bat
echo if %%ip%% lss 10 goto 1to9 >>%systemroot%\ipconfig.bat
echo if %%ip%% lss 100 goto 10to99>>%systemroot%\ipconfig.bat
echo if %%ip%% lss 255 goto 100to254>>%systemroot%\ipconfig.bat
echo if %%ip%% geq 255 goto error1>>%systemroot%\ipconfig.bat
echo :1to9>>%systemroot%\ipconfig.bat
echo set a=000>>%systemroot%\ipconfig.bat
echo goto ipconfig>>%systemroot%\ipconfig.bat

echo :10to99>>%systemroot%\ipconfig.bat
echo set a=00>>%systemroot%\ipconfig.bat
echo goto ipconfig>>%systemroot%\ipconfig.bat
echo :100to254>>%systemroot%\ipconfig.bat
rem echo set a=>>%systemroot%\ipconfig.bat
echo set /a a=%%a%%-0>>%systemroot%\ipconfig.bat
echo :ipconfig>>%systemroot%\ipconfig.bat
echo echo 您设置的计算机名为:%qz%%%a%%%%ip%% IP地址为:%ipaddr%%%ip%% 网关为:%ipaddr%%mask1%>>%systemroot%\ipconfig.bat
echo echo 开始配置计算机名>>%systemroot%\ipconfig.bat
echo color 1a >>%systemroot%\ipconfig.bat
echo reg add HKLM\system\currentcontrolset\control\computername\computername\ /v computername /t reg_sz /d %qz%%%a%%%%ip%% /f ^>nul>>%systemroot%\ipconfig.bat
echo reg add HKLM\system\currentcontrolset\services\tcpip\Parameters\ /v "NV Hostname" /t reg_sz /d %qz%%%a%%%%ip%% /f ^>nul>>%systemroot%\ipconfig.bat
echo echo 计算机名配置完成>>%systemroot%\ipconfig.bat
echo set /a ip=%%ip%%-0>>%systemroot%\ipconfig.bat
echo echo 开始配置IP,网关>>%systemroot%\ipconfig.bat
echo color 2a >>%systemroot%\ipconfig.bat
echo netsh interface ip set address "本地连接" source=static %ipaddr%%%ip%% %submask1% %ipaddr%%mask1% 1 ^>nul>>%systemroot%\ipconfig.bat
echo echo IP配置完成>>%systemroot%\ipconfig.bat
echo echo 开始配置DNS>>%systemroot%\ipconfig.bat
echo netsh interface ip set dns name="本地连接" source=static %dns1% primary ^>nul>>%systemroot%\ipconfig.bat
echo netsh interface ip add dns name="本地连接" %dns2% ^>nul>>%systemroot%\ipconfig.bat
echo echo DNS配置完成>>%systemroot%\ipconfig.bat
echo echo 开始配置IPX协议内部网络号>>%systemroot%\ipconfig.bat
echo color 3a >>%systemroot%\ipconfig.bat
echo reg add HKLM\SYSTEM\CurrentControlSet\Services\NwlnkIpx\Parameters /f /v VirtualNetworkNumber /t REG_DWORD /d %%ip%%>>%systemroot%\ipconfig.bat
echo echo IPX协议内部网络号配置完成>>%systemroot%\ipconfig.bat
echo echo 删除注册表自启动项>>%systemroot%\ipconfig.bat
echo reg delete HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Run /f /v computerconfigscript >>%systemroot%/ipconfig.bat
echo echo 删除注册表启动项目完毕>>%systemroot%\ipconfig.bat

echo echo 系统将在30秒后自动重新启动,输入N取消重起,并在稍后手动重起计算机 >>%systemroot%\ipconfig.bat
echo start %%systemroot%%\system32\shutdown -r -t 30>>%systemroot%\ipconfig.bat
echo set /p restart1=>>%systemroot%\ipconfig.bat
echo if %%restart1%%==n start %%systemroot%%\system32\shutdown -a>>%systemroot%\ipconfig.bat
echo goto end>>%systemroot%\ipconfig.bat
echo :error1>>%systemroot%\ipconfig.bat
echo echo 您输入的IP违反了IP地址使用规则,请根据需要务必输入1--254之间的数字>>%systemroot%\ipconfig.bat
echo goto ipconfigstart>>%systemroot%\ipconfig.bat
echo :errorip>>%systemroot%\ipconfig.bat
echo echo 您没有输入IP,请重新输入>>%systemroot%\ipconfig.bat
echo goto ipconfigstart>>%systemroot%\ipconfig.bat
echo color fc >>%systemroot%\ipconfig.bat
echo :end>>%systemroot%\ipconfig.bat
echo rem 11月19日晚版>>%systemroot%\ipconfig.bat
echo exit>>%systemroot%\ipconfig.bat
echo 配置脚本生成完毕
echo 正在设置注册表自启动脚本
reg add HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Run /f /v computerconfigscript /t REG_SZ /d %systemroot%\ipconfig.bat >nul
echo 注册表启动项目添加完成
echo 10秒后程序自动退出或直接关闭程序退出
ping /n 15 127.0.0.1 >nul
exit

:errorselect5
echo 选择错误,请重新选择
goto restart5
:errorselect1
echo 选择错误,请重新选择
goto restart1

:netghost
color 0a
cls
echo.              ------------------------说明---------------------------
echo                      本批处理可以按要求设置GHOST服务器的
echo                      相关信息,并自动调用GHOSTSERVER程序
echo                      以方便设置.本批处理只支持单网卡,网
echo                      络属性名称为"本地连接".否则此批处理
echo                      不适用或者达不到预期的效果.此脚本为
echo                      现场使用版,即当前的设置只对脚本运行
echo                      中起作用,脚本运行时非正常退出时也达
echo                      不到预期的效果,谢谢使用
echo              -------------------------------------------------------
echo.
echo          1.进入设置GHOST服务器
echo.
echo          2.自动还原以前设置
echo.
echo          3.返回主菜单
echo.
echo 请输入1,2或3,输入其他字符,后果自负.

:restart
set /p select=请输入:
set /a select=%select%-0
if %select%==1 goto config1
if %select%==2 goto config2
if %select%==3 goto  main
if %select% gtr 3 goto errorselect
:config1
set /p ip1=请输入当前GHOST服务器需要使用的IP地址:
set /p mask1=请输入当前GHOST服务器需要使用的子网掩码:
echo @echo off >%systemroot%\netghost.bat
echo echo 备份当前的网络设置 >>%systemroot%\netghost.bat
echo ipconfig /all ^>%systemroot%\ipconfigbackup.txt>>%systemroot%\netghost.bat
echo echo 当前网络设置备份完成>>%systemroot%\netghost.bat
echo echo 清除当前DNS,网关设置>>%systemroot%\netghost.bat
echo netsh interface ip delete address "本地连接" gateway=all ^>nul >>%systemroot%\netghost.bat
echo netsh interface ip delete dns "本地连接" all ^>nul >>%systemroot%\netghost.bat
echo echo 配置当前网络设置 >>%systemroot%\netghost.bat
echo netsh interface ip set address "本地连接" source=static %ip1% %mask1% ^>nul >>%systemroot%\netghost.bat
echo echo 当前网络设置完毕 >>%systemroot%\netghost.bat
echo echo 启动GHOST服务端程序 >>%systemroot%\netghost.bat
echo start ghostsrv83.exe >>%systemroot%\netghost.bat
echo del %%systemroot%%\netghost.bat >>%systemroot%\netghost.bat
echo exit >>%systemroot%\netghost.bat
%systemroot%\netghost.bat
exit

:config2
find /i "IP Address" %systemroot%\ipconfigbackup.txt >ipaddr.txt
for /f "skip=2 tokens=15" %%p in (ipaddr.txt) do set ipaddr=%%p
find /i "Subnet Mask" %systemroot%\ipconfigbackup.txt >subnetmask.txt
for /f "skip=2 tokens=15" %%b in (subnetmask.txt) do set sub=%%b
find /i "Default Gateway" %systemroot%\ipconfigbackup.txt >gateway.txt
for /f "skip=2 tokens=13" %%g in (gateway.txt) do set gate=%%g
find /i "DNS Servers" %systemroot%\ipconfigbackup.txt >dnss.txt
for /f "skip=2 tokens=15" %%d in (dnss.txt) do set dns1=%%d
for /f %%n in (%systemroot%\ipconfigbackup.txt) do set dns2=%%n
del ipaddr.txt
del subnetmask.txt
del gateway.txt
del dnss.txt
echo %ipaddr% %sub% %gate% %dns1% %dns2%
echo @echo off >%systemroot%\restore.bat
echo echo 恢复IP,DNS,子网掩码,网关设置 >>%systemroot%\restore.bat
echo netsh interface ip set address "本地连接" source=static %ipaddr% %sub% %gate% 1 ^>nul >>%systemroot%\restore.bat
echo netsh interface ip set dns name="本地连接" source=static %dns1% primary ^>nul >>%systemroot%\restore.bat
echo netsh interface ip add dns name="本地连接" %dns2% ^>nul >>%systemroot%\restore.bat
echo echo 恢复完成>>%systemroot%\restore.bat
echo  del %%systemroot%%\restore.bat >>%systemroot%\restore.bat
echo exit >>%systemroot%\restore.bat
%systemroot%\restore.bat
exit
:errorselect
echo 选择错误,请重新选择
goto restart
:dianxin
color 0a
cls
echo.              ------------------------说明---------------------------
echo                      本批处理可以按要求设置进行电信与网
echo                      通之间的线路切换.本批处理只支持单否
echo                      网卡,网络属性名称为"本地连接".则此
echo                      批处理不适用或者达不到预期的效果.
echo                      此脚本为现场使用版,即当前的设置只
echo                      对脚本运行中起作用,脚本运行时非正常
echo                      退出时也达不到预期的效果,谢谢使用                     
echo              -------------------------------------------------------
echo.
echo  请输入1或者2,输入其他字符,后果自负.
echo.
echo              1.进入电信网通线路切换生成器
echo.
echo              2.返回主菜单
echo.
:restart2
set /p select=请输入:
set /a select=%select%-0
if %select%==1 goto config3
if %select%==2 goto  main
if %select% gtr 2 goto errorselect3
:config3
echo 特别注意:使用本脚本切换网关以后,在网络属性里面看到网关地址有出入,但不影响使用,此时在网络属性里面看到的网关,不起任何作用,但不要做任何操作.
echo.
set /p gateway1=请输入要切换的网关:
set /p dns1=请输入要切换的DNS地址:
echo @echo off >gatewaychange.bat
echo echo 切换中,请稍等.  >>gatewaychange.bat
echo netsh interface ip delete dns "本地连接" all ^>nul >>gatewaychange.bat
echo netsh interface ip set dns name="本地连接" source=static %dns1% primary ^>nul >>gatewaychange.bat
echo route delete 0.0.0.0 >>gatewaychange.bat
echo route add 0.0.0.0 mask 0.0.0.0 %gateway1% >>gatewaychange.bat
rem 到这里本脚本以实现了,生成切换电信与网通线路的脚本文件.只是生成脚本文件不会自动运行,方便只需要脚本文件然后自己处理生成后的脚本文件的朋友使用.
rem 把下面2行前面的rem字符删除,可以实现即时的线路切换(输入相关信息后会自动运行生成的脚本,无需要再次运行生成的脚本就可以完成线路切换)
rem echo del gatewaychange.bat >>gatewaychange.bat
rem gatewaychange.bat
exit
:errorselect3
echo 选择错误,请重新选择
goto restart2


:endend
exit
2#
发表于 2007-8-5 20:28:32 | 只看该作者
这么长啊!收藏先,慢慢学习研究!顶!
回复

使用道具 举报

3#
发表于 2008-4-15 00:00:50 | 只看该作者
说实话没看明白没看懂.
回复

使用道具 举报

4#
发表于 2008-4-17 23:07:33 | 只看该作者

IP地址快速设置

@echo off
cls
color 0a
echo                    *************************************
echo                               IP地址快速设置                           
echo                     作者:xxx  地址:xxxxxxxxxx
echo                    *************************************

rem netsh interface ip set address "本地连接" dhcp
rem netsh interface ip set dns "本地连接" dhcp

set IP=192.168.1.44
set MASK=255.255.255.0
set GATEWAY=192.168.1.1
set DNS1=202.98.0.68
set DNS2=202.98.5.68
echo.
set /p KEY= [1快速设置,2手动设置,3创建快速设置默认值,Other退出]
if %KEY% == 1 goto QUICK
if %KEY% == 2 goto MANUAL
if %KEY% == 3 goto DEFAULT
goto END

:QUICK
if exist ip.txt goto QDO
echo.
echo 没有发现默认设置文件!
goto END

:QDO
netsh -f .\ip.txt
echo.
echo 按照默认设置已经完成设置!
goto END

:DEFAULT
netsh -c interface ip dump > .\ip.txt
echo.
echo 默认设置已经生成!
goto END

:MANUAL
ECHO.
ECHO 您选择了手工修改设置。
ECHO.

echo 默认IP地址是%IP%,回车输入默认地址
set /p IP= [请输入 IP 地址:]
echo.
echo 默认MASK是%MASK%,回车输入默认值
set /p MASK= [请输入 MASK 地址:]
echo.
echo 默认网关地址是%GATEWAY%,回车输入默认地址
set /p GATEWAY= [请输入GATEWAY地址:]
ECHO.
echo 默认主DNS地址是%DNS1%,回车输入默认地址
set /p DNS1= [请输入主 DNS地址:]
echo.
echo 默认第二DNS地址是%DNS2%,回车输入默认地址
set /p DNS2= [请输入第二DNS地址:]
echo.
goto LIST


:LIST
ECHO 即将生效的 IP 地址是%IP%
ECHO 即将生效的 MASK 是%MASK%
ECHO 即将生效的GATEWAY地址是%GATEWAY%
ECHO 即将生效的 主DNS 地址是%DNS1%
ECHO 即将生效的第二DNS地址是%DNS2%
echo.
set /p REEN= [马上更改请按1,重新设置请按2,Other退出]
if %REEN% == 1 goto DO
if %REEN% == 2 goto MANUAL
GOTO END

:DO
echo.
echo 正在更改IP请稍后......
echo.

echo IP地址及子网掩码设置完成
netsh interface ip set address name="本地连接" source=static addr=%IP% mask=%MASK%
echo 网关地址设置完成
netsh interface ip set address name="本地连接" gateway=%GATEWAY% gwmetric=0
echo 主DNS地址设置完成
netsh interface ip set dns name="本地连接" source=static addr=%DNS1% register=PRIMARY
echo 第二DNS地址设置完成
netsh interface ip add dns name="本地连接" addr=%DNS2% index=2
goto end

:end
echo.
pause
回复

使用道具 举报

5#
发表于 2008-4-17 23:08:48 | 只看该作者

简化

@echo off
cls
color 0a
echo                    *************************************
echo                               IP地址快速设置                           
echo                     作者:xxxx  地址:xxxxxxxx
echo                    *************************************

rem netsh interface ip set address "本地连接" dhcp
rem netsh interface ip set dns "本地连接" dhcp

set IP=192.168.1.2
set MASK=255.255.255.0
set GATEWAY=192.168.1.1
set DNS1=202.98.0.68
set DNS2=202.98.5.68
echo.

:DO
echo.
echo 正在更改IP请稍后......
echo.

echo IP地址及子网掩码设置完成
netsh interface ip set address name="本地连接" source=static addr=%IP% mask=%MASK%
echo 网关地址设置完成
netsh interface ip set address name="本地连接" gateway=%GATEWAY% gwmetric=0
echo 主DNS地址设置完成
netsh interface ip set dns name="本地连接" source=static addr=%DNS1% register=PRIMARY
echo 第二DNS地址设置完成
netsh interface ip add dns name="本地连接" addr=%DNS2% index=2
goto end

:end
echo.
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|Archiver|捐助支持|无忧启动 ( 闽ICP备05002490号-1 )

闽公网安备 35020302032614号

GMT+8, 2024-9-24 13:21

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表