在win7下批處理BAT如何提取網卡物理地址之前用一個別人提供的批處理批量改IP,在XP環境下,現在想換成WIN7,該批處理沒用了。代碼是這樣的:XP和WIN7下的Ipconfig的區別:除了win7的變成中文外,還出現了三個“物理地址”這個關鍵字眼。但代碼實在不會改,哪位大俠幫個忙。謝謝!后來又找到一個好似更簡便的代碼,不知有沒用。代碼如下:nclick="copycode($('code0'));">復制代碼
- @color c
- @cls
- @echo [ComputersMAC] [Name] [ip] >name.xmz
- @echo 44-87-FC-64-58-8D A7 17 >>name.xmz
- @echo 00-00-00-00-00-00 A1 11 >>name.xmz
- @echo 44-87-FC-64-5B-8D A5 15 >>name.xmz
- @echo 44-87-FC-64-5B-27 A2 12 >>name.xmz
- @cls
- ipconfig /all >ipconfig.xmz
- find Physical Address ipconfig.xmz >mac.xmz
- for /f skip=1 tokens=12 %%C in (mac.xmz) do set mac=%%C
- find %mac% name.xmz >key.xmz
- for /f skip=1 tokens=2 %%C in (key.xmz) do set name=%%C
- for /f skip=1 tokens=3 %%C in (key.xmz) do set ip=%%C
- @echo %name%
- @echo %ip%
- @echo Windows Registry Editor Version 5.00 >Cname.reg
- @echo [HKEY_LOCAL_MACHINESYSTEMCurrentControlSetControlComputerNameComputerName] >>Cname.reg
- @echo ComputerName=%name% >>Cname.reg
- @echo [HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesTcpipParameters] >>Cname.reg
- @echo NV Hostname=%name% >>Cname.reg
- @echo Hostname=%name% >>Cname.reg
- @echo Windows Registry Editor Version 5.00 >insn.reg
- @echo [HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesTcpipParameters] >>insn.reg
- @echo VirtualNetworkNumber=dword:00000%name% >>insn.reg
- @echo [HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesNwlnkIpxParameters] >>insn.reg
- @echo VirtualNetworkNumber=dword:00000%name% >>insn.reg
- regedit /s Cname.reg
- regedit /s insn.reg
- netsh interface ip set address name=本地連接 source=static addr=192.168.11.%ip% mask=255.255.255.0 gateway=192.168.11.2 gwmetric=0
- netsh interface ip set dns name=本地連接 source=static addr=202.96.128.166 >nul 2>nul
- netsh interface ip add dns name=本地連接 addr=202.96.128.86 index=2 >nul 2>nul
- del /q *.xmz
- del /q *.reg
nclick="copycode($('code1'));">復制代碼
- @echo off
- color 0a
- :::--------------------------------------------------------------------------
- ::: ##@請修改機房中所有計算機名、MAC地址、ip地址加入到下面行,不夠另起一行@##
- @cls :::清屏
- @echo [ComputerName] [MacAddress] [IPAddress] >config.cfg
- @echo a194-DE-80-2E-E5-DD192.168.1.21>>config.cfg
- @echo a394-DE-80-2E-E5-D4192.168.1.23>>config.cfg
- :::--------------------------------------------------------------------------
- :::::::添加你自己的機器配置
- @echo 正在獲取機器的TCP/IP 配置
- ipconfig /all >ipconfig.txt
- :::分離出機器的物理地址,并保存到 ( phyaddr.txt) 文件中
- find 物理地址 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 顯示IP地址: %IPAddress%
- ::::顯示網卡MAC地址.(從ComputerCfg.txt中分離出 MAC地址字段,并賦給變量MacAddress)
- for /f skip=2 tokens=2 %%M in (ComputerCfg.txt) do set MacAddress=%%M
- @echo 顯示網卡MAC地址: %MacAddress%
- ::::創建注冊表文件
- @echo Windows Registry Editor Version 5.00 >ComputerName.reg
- @echo [HKEY_LOCAL_MACHINESYSTEMCurrentControlSetControlComputerNameComputerName] >>ComputerName.reg
- ::::用變量%ComputerName%去替換實際的機器名
- @echo ComputerName=%ComputerName% >>ComputerName.reg
- @echo [HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesTcpipParameters] >>ComputerName.reg
- ::::用變量%ComputerName%去替換實際的機器名
- @echo NV Hostname=%ComputerName% >>ComputerName.reg
- @echo Hostname=%ComputerName% >>ComputerName.reg
- ::::導入注冊表文件。用的時候把 :: 去掉
- regedit /s ComputerName.reg
- ::::修改IP 地址。用變量%IPAddress% 去替換實際的IP 地址
- :::--------------------------------------------------------------------------
- ::::####@請確保下一行命令中的“網絡連接”的名稱和電腦上的一致,如無線網絡連接,本地連接,本地連接1等等。。。@##
- netsh interface ip set address 本地連接 source=static addr=%IPAddress% mask=255.255.255.0 gateway=192.168.1.1 gwmetric=1
- ::::####@請根據實際情況更改首選DNS,去掉下行命令前的::::就可執行@##
- netsh interface ip set dns 本地連接 static 202.96.134.133
- ::::####@請根據實際情況更改第二DNS,去掉下行命令前的::::就可執行@##
- netsh interface ip add dns 本地連接 202.96.128.166 2
- :::--------------------------------------------------------------------------