回 帖 发 新 帖 刷新版面

主题:9;<歃

9;<歃!?凹?u?O9;<歃!?凹?u?O饲?>爠TXw8匤籽#鮑?Xw篛匲氤.?J8詙G凧?CP?噟e(;8?竴N.w?
垍>綡a籽XXaL(&amp9;<歃!?凹?u?O饲?>爠TXw8匤籽#鮑?Xw篛匲氤.?J8詙G凧?CP?噟e(;8?竴N.w?
垍>綡a籽XXaL(揼;#25596;饲?>爠TXw8&9;<歃!?凹?u?O饲?>爠TXw8&9;<歃!?凹?u?O饲?>爠TXw8匤籽#鮑?Xw篛匲氤.?J8詙G凧?CP?噟e(;8?竴N.w?
垍>綡a籽XXaL(揼#21284;籽#鮑?Xw篛匲氤.?J8詙G凧?CP?噟e(;8?竴N.w?
垍>綡a籽XXaL(揼amp;#21284;籽#鮑?Xw篛匲氤.?J8詙G凧?CP?噟e(;8?竴N.w?
垍>綡a籽XXaL(揼

回复列表 (共1个回复)

沙发

::::支持单机扫描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

我来回复

您尚未登录,请登录后再回复。点此登录或注册