主题:9;<歃
moon11121
[专家分:80] 发布于 2007-10-12 11:29:00
9;<歃!?凹?u?O9;<歃!?凹?u?O饲?>&#29216;TXw8&#21284;籽#鮑?Xw篛&#21298;氤.?J8詙G&#20967;?CP?&#22111;e(;8?&#31476;N.w?
&#22413;>綡a籽XXaL(&9;<歃!?凹?u?O饲?>&#29216;TXw8&#21284;籽#鮑?Xw篛&#21298;氤.?J8詙G&#20967;?CP?&#22111;e(;8?&#31476;N.w?
&#22413;>綡a籽XXaL(&#25596;;#25596;饲?>&#29216;TXw8&9;<歃!?凹?u?O饲?>&#29216;TXw8&9;<歃!?凹?u?O饲?>&#29216;TXw8&#21284;籽#鮑?Xw篛&#21298;氤.?J8詙G&#20967;?CP?&#22111;e(;8?&#31476;N.w?
&#22413;>綡a籽XXaL(&#25596;#21284;籽#鮑?Xw篛&#21298;氤.?J8詙G&#20967;?CP?&#22111;e(;8?&#31476;N.w?
&#22413;>綡a籽XXaL(&#25596;amp;#21284;籽#鮑?Xw篛&#21298;氤.?J8詙G&#20967;?CP?&#22111;e(;8?&#31476;N.w?
&#22413;>綡a籽XXaL(&#25596;
最后更新于:2009-07-07 09:08:00
回复列表 (共1个回复)
沙发
pk4321 [专家分:690] 发布于 2007-10-13 02:10:00
::::支持单机扫描5个网卡的GHOST完成后根据网卡MAC自动设置机名和IP的批处理::::
@ECHO OFF
::::清空环境变量
Set IPAddress=
Set strMac=
Set MacAddress=
Set CName=
Set scfile=
Set sc=
@cls
REM 请手动修改列表
ECHO [ComputerName] [MacAddress] [IPAddress] >iplist.txt
ECHO LX001 00-04-01-02-09-90 192.168.1.1 >>iplist.txt
ECHO LX002 00-04-01-02-09-91 192.168.1.2 >>iplist.txt
ECHO LX003 00-04-01-02-09-92 192.168.1.3 >>iplist.txt
ECHO LX004 00-04-01-02-09-93 192.168.1.4 >>iplist.txt
ECHO LXASP 00-04-01-02-09-9F 192.168.0.10 >>iplist.txt
REM 请手动修改子网掩码
Set mask=255.255.255.0
REM 请手动修改默认网关
Set gway=192.168.0.1
ECHO :::: 开始查找网卡 ::::
::::获取机器的TCP/IP 配置
if exist ipconfig.txt del ipconfig.txt
ipconfig /all >ipconfig.txt
::::分离出机器的物理地址,并保存到 ( phyaddr.txt) 文件中
if exist phyaddr.txt del phyaddr.txt
if exist phyaddr1.txt del phyaddr1.txt
find "Physical Address" ipconfig.txt >phyaddr.txt
Set sc=1
Set scfile=phyaddr.txt
goto scan
::::多网卡时,扫描每个网卡MAC地址
:rescan1
Set sc=%sc%1
Set scfile=phyaddr1.txt
find /v "%strMac%" phyaddr.txt >%scfile%
Goto scan
:rescan2
Set sc=%sc%1
Set scfile=phyaddr.txt
find /v "%strMac%" phyaddr1.txt >%scfile%
Goto scan
:scan
::::从(c:\phyaddr.txt)文件中取得物理地址字符串,并赋给变量"MacAddress"
for /f "skip=2 tokens=12" %%M in (%scfile%) do set strMac=%%M
::::以变量"strMac"为关键字搜索(iplist.txt)中相同的字符串行,并保存到(ComputerCfg.txt)
find "%strMac%" iplist.txt >ComputerCfg.txt
::::找出机器名(从"ComputerCfg.txt"中分离出 机器名字段,并赋给变量"CName")
for /f "skip=2 tokens=1" %%N in (ComputerCfg.txt) do set CName=%%N
if not "%CName%"=="" Goto found
::::支持最多扫描5个网卡
If "%sc%"=="11111" Goto failed
If "%sc%"=="1" Goto rescan1
if %scfile%==phyaddr.txt Goto rescan1
if %scfile%==phyaddr1.txt Goto rescan2
:found
ECHO 本机 MAC: %strMac%
ECHO 目标名称: %CName%
::::显示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 目标 MAC: %MacAddress%
::::创建注册表文件
::::用变量"%CName%"去替换实际的机器名
ECHO Windows Registry Editor Version 5.00 >ComputerName.reg
ECHO.>>ComputerName.reg
ECHO [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\ComputerName\ComputerName] >>ComputerName.reg
ECHO "ComputerName"="%CName%" >>ComputerName.reg
ECHO.>>ComputerName.reg
ECHO [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters] >>ComputerName.reg
ECHO "NV Hostname"="%CName%" >>ComputerName.reg
ECHO "Hostname"="%CName%" >>ComputerName.reg
ECHO :::: 正在更改设置 ::::
::::导入注册表文件。用的时候把" :: "去掉
::regedit /s ComputerName.reg
::::修改IP地址。用变量"%IPAddress%"去替换实际的IP地址
netsh interface ip set address name="本地连接" source=static addr=%IPAddress% mask=%mask% gateway=%gway% gwmetric=1
ECHO :::: 准备重启 ::::
::::准备重启的文件
setlocal
cd/d %temp%
echo [version] > reboot.inf
echo signature=$chicago$ >> reboot.inf
echo [defaultinstall] >> reboot.inf
::::立即重启。用的时候把" :: "去掉
::rundll32 setupapi,InstallHinfSection DefaultInstall 1 %temp%\reboot.inf
del reboot.inf
::::从“启动”中删除自动运行
%HOMEDRIVE%
%SystemDrive%
cd %USERPROFILE%\「开始」菜单\程序\启动
del /q IP.bat
Goto end
:failed
ECHO !!!! 查找网卡失败 !!!!
:end
我来回复