无忧启动论坛

 找回密码
 注册
搜索
系统gho:最纯净好用系统下载站投放广告、加入VIP会员,请联系 微信:wuyouceo
查看: 5966|回复: 4
打印 上一主题 下一主题

一个电脑安装后,自动改IP和计算机名的批处理

[复制链接]
跳转到指定楼层
1#
发表于 2006-12-7 23:36:31 | 只看该作者 回帖奖励 |正序浏览 |阅读模式
这个批处理文件,在电脑装好后,可以全自动改IP,子网掩码,网关和计算机名!但就是不能改DNS和备用DNS!
请哪位高手改一下,使其功能更完善!谢谢!!(有需要的也可以下载用,很不错的)
文件附后:
文件@echo off

:::--------------------------------------------------------------------------
:::::请你在使用把[MacAddress] 字段下 改为你自己的机器配置:::::::::
:::::此文件,只在win2k专业版下测试过 XP已经通过测试::::::::::::
:::::带有“::::” 后面的语句为 注释::::::::::
:::::因为会修改你的机器配置。请在测试机器上使用!:::::
:::---------------------------------------------------------------------

@cls :::清屏
@echo [ComputerName] [MacAddress] [IPAddress] [CS-CDKey] >config.cfg
@echo D178  00-0A-EB-A8-5A-4B  192.168.1.178 7149496192150 >>config.cfg
@echo D179  00-15-F2-21-C7-CC  192.168.1.179 7149496192151 >>config.cfg
@echo D180  00-15-F2-1F-71-19  192.168.1.180 7149496192152 >>config.cfg
@echo D181  00-15-F2-21-C7-8B  192.168.1.181 7149496192153 >>config.cfg
@echo D182  00-15-F2-21-BA-8E  192.168.1.182 7149496192154 >>config.cfg
@echo D183  00-15-F2-21-C8-11  192.168.1.183 7149496192155 >>config.cfg   
  
:::::::添加你自己的机器配置
::::获取机器的TCP/IP 配置
if exist ipconfig.txt del ipconfig.txt
ipconfig /all >ipconfig.txt

:::分离出机器的物理地址,并保存到 ( phyaddr.txt) 文件中
if exist phyaddr.txt del phyaddr.txt
find "Physical Address" ipconfig.txt >phyaddr.txt

::::从(c:\phyaddr.txt)文件中取得物理地址字符串,并赋给变量"MacAddress"
for /f "skip=2 tokens=12" %%M in (phyaddr.txt) do set strMac=%%M

:::显示物理地址字符串
@echo %strMac%

::::以变量"strMac"为关键字搜索(Config.cfg)中相同的字符串行,并保存到(ComputerCfg.txt)
find "%strMac%" Config.cfg >ComputerCfg.txt

::::显示机器名. (从"ComputerCfg.txt"中分离出 机器名字段,并赋给变量"ComputerName")
for /f "skip=2 tokens=1" %%N in (ComputerCfg.txt) do set ComputerName=%%N
@echo %ComputerName%

::::显示IP地址. (从"ComputerCfg.txt"中分离出 IP地址字段,并赋给变量"IPAddress")
for /f "skip=2 tokens=3" %%I in (ComputerCfg.txt) do set IPAddress=%%I
@echo %IPAddress%

::::显示网卡MAC地址.(从"ComputerCfg.txt"中分离出 MAC地址字段,并赋给变量"MacAddress")
for /f "skip=2 tokens=2" %%M in (ComputerCfg.txt) do set MacAddress=%%M
@echo %MacAddress%
for /f "skip=2 tokens=4" %%C in (ComputerCfg.txt) do set strCdkey=%%C
@echo %strCdkey%
::::创建注册表文件
@echo Windows Registry Editor Version 5.00 >ComputerName.reg
@echo [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\ComputerName\ComputerName] >>ComputerName.reg

::::用变量"%ComputerName%"去替换实际的机器名
@echo "ComputerName"="%ComputerName%" >>ComputerName.reg
@echo [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters] >>ComputerName.reg

::::用变量"%ComputerName%"去替换实际的机器名
@echo "NV Hostname"="%ComputerName%" >>ComputerName.reg
@echo "Hostname"="%ComputerName%" >>ComputerName.reg
::::修改 CS-CDKEY 不用管它
@echo [HKEY_CURRENT_USER\Software\Valve\CounterStrike\Settings]>>ComputerName.reg
@echo "Key"="%strCdkey%">>ComputerName.reg
@echo [HKEY_USERS\S-1-5-21-839522115-507921405-2146800195-500\Software\Valve\CounterStrike\Settings]>>ComputerName.reg
@echo "Key"="%strCdkey%">>ComputerName.reg

::::导入注册表文件。用的时候把" :: " 去掉
regedit /s ComputerName.reg

::::修改IP 地址。用变量"%IPAddress%" 去替换实际的IP 地址
netsh interface ip set address name="本地连接" source=static addr=%IPAddress% mask=255.255.255.0 gateway=192.168.0.1 gwmetric=1
::::重起机器批处理!
setlocal
cd/d %temp%
echo [version] > reboot.inf
set inf=InstallHinfSection DefaultInstall
echo signature=$chicago$ >> reboot.inf
echo [defaultinstall] >> reboot.inf
rundll32 setupapi,%inf% 1 %temp%\reboot.inf
del reboot.inf
c:
cd %USERPROFILE%\「开始」菜单\程序\启动
del /q IP.bat
内容:

[ 本帖最后由 ygzxwsn 于 2006-12-7 11:41 PM 编辑 ]

IP.rar

1.54 KB, 下载次数: 384, 下载积分: 无忧币 -2

全自动改IP,网关,子网掩码,计算机名的比处理

5#
发表于 2010-6-10 07:52:41 | 只看该作者
呵呵,    见识见识.
回复

使用道具 举报

4#
发表于 2010-5-16 15:00:15 | 只看该作者
恩.学习了.旧帖也要顶啊....
回复

使用道具 举报

3#
发表于 2006-12-9 12:02:59 | 只看该作者
晕,昨天刚自己写了一个类似的。不过还没有写完,自己用的。
楼主的这个程序我也是刚看到,没参考到,思路也完全不一样,也贴出来吧。
没任何技术含量,高手们勿笑。

@echo off
title=IP自动设置程序---Design By:风流才子(http://www.54caizi.com)
color 0A

rem *************** IP地址自动设置程序 ***************
rem    免费程序,可在 GNU 框架下自由分发或/和修改。
rem    程序制作:风流才子   http://www.54caizi.com
rem **************************************************

set find=%SystemRoot%\System32\find.exe
set config=%SystemRoot%\System32\ipconfig.exe

if not "%1" == "%*" goto :syntax
if /I "%1"=="/?" goto :help
if /I "%1"=="/dhcp" goto :godhcp
if /I "%1"=="/static" goto :gostatic
if /I "%1"=="/restore" goto :gorestore
goto :start

:syntax
echo.
echo 调用语法错误,程序终止!
goto :end

:help
cls
echo.
echo                       IP地址自动设置程序 - 说明
echo       ==========================================================
echo               免费程序,可在 GNU 框架下自由分发或/和修改
echo               程序制作:风流才子  http://www.54caizi.com
echo       ----------------------------------------------------------
echo        本程序设置全智能化,通常单机ADSL上网的用户,用全自动静态
echo        IP设置即可,其实动态IP通常也能正常上网,但电脑启动速度会
echo        变慢。因为系统会自动去搜索DHCP,并获取DHCP分配的IP设置。
echo.
echo        本程序支持带参数调用,参数如下:
echo.
echo        /dhcp ................. 自动设置成动态IP
echo        /static ............... 自动设置成静态IP (192.168.1.168)
echo                                自动设置子网掩码 (255.255.255.0)
echo                                自动设置网关地址 (192.168.1.1)
echo        /static IP Mask Geteway
echo                                参数形式设置IP,子网掩码及网关地址
echo          (例:/static 192.168.1.100 255.255.255.255 192.168.1.1)

echo       ==========================================================
echo       按任一键进入程序菜单,选择相应的操作。
pause >nul

:start
cls
echo                     ╭─────────────╮
echo       ╭──────┤    IP地址自动设置程序    ├──────╮
echo       │            ╰─────────────╯            │
echo       │本程序能为您自动或手动设置合适的IP,网关及DNS          │
echo       │                                   Design By: 风流才子│
echo       ╰───────────────────────────╯
echo.
echo        1. 设置成动态IP (局域网或路由上网且路由开放DHCP功能)
echo        2. 设置成静态IP (拨号或路由上网且路由没开放DHCP功能)
echo        H. 查看帮助说明
echo        Q. 退出程序
echo       ==========================================================
set type=
set /P type=      请选择: [1],[2],[H] 或 [Q] ?
if /I "%type%"=="1" goto :godhcp
if /I "%type%"=="2" goto :gostatic
if /I "%type%"=="H" goto :help
if /I "%type%"=="Q" goto :end
goto :start

:godhcp
echo.
echo 正在设置动态IP地址,请稍候!
netsh interface ip set address name="本地连接" source=dhcp >nul
goto :comm

:gostatic
cls
echo.
echo        1. 全自动设置静态IP,子网掩码及网关 (适合单机ADSL拨号上网)
echo        2. 手动指定静态IP,子网掩码及网关 (适合于局域网且有IP限制)
echo        B. 返回上一菜单
echo        Q. 退出本程序
echo       ==========================================================
set stype=
set /P stype=      请选择: [1],[2],[B] 或 [Q] ?
if /I "%stype%"=="1" goto :autostatic
if /I "%stype%"=="2" goto :inputstatic
if /I "%stype%"=="Q" goto :end
if /I "%stype%"=="B" goto :start
goto :gostatic

:autostatic
echo.
echo       将IP地址设置成 192.168.1.168
echo       子网掩码设置成 255.255.255.0
echo       网关地址设置成 192.168.1.1
echo.
set confirm=
set /P confirm=      确认吗? [Y]确认,[N]返回主菜单:
if /I "%confirm%"=="N" goto :start
if /I "%confirm%"=="Y" (
        echo.
        echo       正在设置IP地址及子网掩码
        netsh interface ip set address name="本地连接" source=static addr=192.168.1.168 mask=255.255.255.0 >nul
        echo       正在设置默认网关地址
        netsh interface ip set address name="本地连接" gateway=192.168.1.1 gwmetric=0 >nul
        goto :comm
)
goto :autostatic

:inputstatic
set /P IP=      请输入 IP 地址 (格式:192.168.1.168) :
set /P Mask=      请输入子网掩码 (格式:255.255.255.0) :
set /P Gateway=      请输入网关地址 (格式:192.168.1.1) :
echo.
echo       正在根据您输入的资料进行设置 ......
netsh interface ip set address "本地连接" source=static addr=%IP% mask=%Mask% gateway=%Geteway% gwmetric=0 >nul
goto :comm

:comm
echo       正在设置DNS,请稍候!
netsh interface ip set dns name="本地连接" source=static addr=202.96.134.133 register=PRIMARY >nul
netsh interface ip add dns name="本地连接" addr=202.96.128.68 index=2 >nul
netsh interface ip add dns name="本地连接" addr=203.77.1.1 index=3 >nul
netsh interface ip add dns name="本地连接" addr=203.77.1.20 index=4 >nul
::netsh interface ip set wins name="本地连接" source=static addr=none >nul
echo.
echo       设置完成,按任一键查看您目前的网络信息:
pause >nul
cls
ipconfig/all

::netsh int ip show address

echo.
echo    按任一键退出程序!
pause >nul

:end
echo.

把附件也打包发上来好了。

SetIP.rar

1.68 KB, 下载次数: 296, 下载积分: 无忧币 -2

回复

使用道具 举报

2#
 楼主| 发表于 2006-12-7 23:39:30 | 只看该作者

原文件!

@echo off

:::--------------------------------------------------------------------------
:::::请你在使用把[MacAddress] 字段下 改为你自己的机器配置:::::::::
:::::此文件,只在win2k专业版下测试过 XP已经通过测试::::::::::::
:::::带有“::::” 后面的语句为 注释::::::::::
:::::因为会修改你的机器配置。请在测试机器上使用!:::::
:::---------------------------------------------------------------------

@cls :::清屏
@echo [ComputerName] [MacAddress] [IPAddress] [CS-CDKey] >config.cfg
@echo D178  00-0A-EB-A8-5A-4B  192.168.1.178 7149496192150 >>config.cfg
@echo D179  00-15-F2-21-C7-CC  192.168.1.179 7149496192151 >>config.cfg
@echo D180  00-15-F2-1F-71-19  192.168.1.180 7149496192152 >>config.cfg
@echo D181  00-15-F2-21-C7-8B  192.168.1.181 7149496192153 >>config.cfg
@echo D182  00-15-F2-21-BA-8E  192.168.1.182 7149496192154 >>config.cfg
@echo D183  00-15-F2-21-C8-11  192.168.1.183 7149496192155 >>config.cfg   
  
:::::::添加你自己的机器配置
::::获取机器的TCP/IP 配置
if exist ipconfig.txt del ipconfig.txt
ipconfig /all >ipconfig.txt

:::分离出机器的物理地址,并保存到 ( phyaddr.txt) 文件中
if exist phyaddr.txt del phyaddr.txt
find "Physical Address" ipconfig.txt >phyaddr.txt

::::从(c:\phyaddr.txt)文件中取得物理地址字符串,并赋给变量"MacAddress"
for /f "skip=2 tokens=12" %%M in (phyaddr.txt) do set strMac=%%M

:::显示物理地址字符串
@echo %strMac%

::::以变量"strMac"为关键字搜索(Config.cfg)中相同的字符串行,并保存到(ComputerCfg.txt)
find "%strMac%" Config.cfg >ComputerCfg.txt

::::显示机器名. (从"ComputerCfg.txt"中分离出 机器名字段,并赋给变量"ComputerName")
for /f "skip=2 tokens=1" %%N in (ComputerCfg.txt) do set ComputerName=%%N
@echo %ComputerName%

::::显示IP地址. (从"ComputerCfg.txt"中分离出 IP地址字段,并赋给变量"IPAddress")
for /f "skip=2 tokens=3" %%I in (ComputerCfg.txt) do set IPAddress=%%I
@echo %IPAddress%

::::显示网卡MAC地址.(从"ComputerCfg.txt"中分离出 MAC地址字段,并赋给变量"MacAddress")
for /f "skip=2 tokens=2" %%M in (ComputerCfg.txt) do set MacAddress=%%M
@echo %MacAddress%
for /f "skip=2 tokens=4" %%C in (ComputerCfg.txt) do set strCdkey=%%C
@echo %strCdkey%
::::创建注册表文件
@echo Windows Registry Editor Version 5.00 >ComputerName.reg
@echo [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\ComputerName\ComputerName] >>ComputerName.reg

::::用变量"%ComputerName%"去替换实际的机器名
@echo "ComputerName"="%ComputerName%" >>ComputerName.reg
@echo [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters] >>ComputerName.reg

::::用变量"%ComputerName%"去替换实际的机器名
@echo "NV Hostname"="%ComputerName%" >>ComputerName.reg
@echo "Hostname"="%ComputerName%" >>ComputerName.reg
::::修改 CS-CDKEY 不用管它
@echo [HKEY_CURRENT_USER\Software\Valve\CounterStrike\Settings]>>ComputerName.reg
@echo "Key"="%strCdkey%">>ComputerName.reg
@echo [HKEY_USERS\S-1-5-21-839522115-507921405-2146800195-500\Software\Valve\CounterStrike\Settings]>>ComputerName.reg
@echo "Key"="%strCdkey%">>ComputerName.reg

::::导入注册表文件。用的时候把" :: " 去掉
regedit /s ComputerName.reg

::::修改IP 地址。用变量"%IPAddress%" 去替换实际的IP 地址
netsh interface ip set address name="本地连接" source=static addr=%IPAddress% mask=255.255.255.0 gateway=192.168.0.1 gwmetric=1
::::重起机器批处理!
setlocal
cd/d %temp%
echo [version] > reboot.inf
set inf=InstallHinfSection DefaultInstall
echo signature=$chicago$ >> reboot.inf
echo [defaultinstall] >> reboot.inf
rundll32 setupapi,%inf% 1 %temp%\reboot.inf
del reboot.inf
c:
cd %USERPROFILE%\「开始」菜单\程序\启动
del /q IP.bat
回复

使用道具 举报

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

本版积分规则

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

闽公网安备 35020302032614号

GMT+8, 2024-11-15 23:43

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

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