[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖
回复 11# 滴血雄鹰


推荐教程:
http://bbs.bathome.net/thread-75-1-1.html
我帮忙写的代码不需要付钱。如果一定要给,请在微信群或QQ群发给大家吧。
【微信公众号、微信群、QQ群】http://bbs.bathome.net/thread-3473-1-1.html
【支持批处理之家,加入VIP会员!】http://bbs.bathome.net/thread-67716-1-1.html

TOP

回复 8# Batcher

我肯定搞不定的,代码都是复制的!

TOP

看了一下你的 1.TXT 多网卡获取MAC 地址那样写法会出错只会获取最后一个MAC 地址,,
把获取MAC 的那行改成 ,就只会获取物理MAC 地址,
for /f "skip=2 tokens=1 delims= " %%a in ('getmac') do set mac=%%~a

其实脚本调试很简单的,只要多点应用,,
ECHO %MAC%
ECHO %Ethernet%
ECHO %NAME%
ECHO %P%
PAUSE
在变量应用前,查看变量变化就可以了。
这个是一种思路,学好了对你有用。

TOP

本帖最后由 jiavip 于 2019-3-19 00:10 编辑

把这两句改成这样,应该能正常获取MAC 和网卡名。至少我在朋友电脑上运行是可以获取。
for /f "tokens=15 delims= " %%i in ('ipconfig /all^|find /i "物理地址"') do set mac=%%i
for /f "tokens=1,2*" %%i in ('ipconfig /all^|find "以太网适配器"')  do set Ethernet=%%j

TOP

回复 7# 滴血雄鹰


要不你先参考别人的代码思路自己尝试一下?还是搞不定的话,我可以协助。

批处理获取多网卡系统中指定网络连接对应的MAC地址
http://bbs.bathome.net/thread-32287-1-1.html

批处理获取多网卡系统中指定网络连接对应的IP地址
http://bbs.bathome.net/thread-32288-1-1.html
我帮忙写的代码不需要付钱。如果一定要给,请在微信群或QQ群发给大家吧。
【微信公众号、微信群、QQ群】http://bbs.bathome.net/thread-3473-1-1.html
【支持批处理之家,加入VIP会员!】http://bbs.bathome.net/thread-67716-1-1.html

TOP

回复 6# Batcher


    能不能给个有用的代码?

TOP

回复 5# 滴血雄鹰


    你说的是其中一个原因。另外一个原因是 tokens=12 是取第12列,但1.txt里面MAC地址不是第12列。
我帮忙写的代码不需要付钱。如果一定要给,请在微信群或QQ群发给大家吧。
【微信公众号、微信群、QQ群】http://bbs.bathome.net/thread-3473-1-1.html
【支持批处理之家,加入VIP会员!】http://bbs.bathome.net/thread-67716-1-1.html

TOP

回复 3# Batcher


    改了还是没有用?是不是有多个“物理地址”,冲突了?IPCONFIG /ALL的内容见附件1.TXT

链接: https://pan.baidu.com/s/1ZFZWMXj7H9ZeJEIXC9oYaw 提取码: ee5v


@echo off
echo 正在配置IP地址、DNS请稍候……
set MASK=255.255.255.0
set GATEWAY=192.168.103.254
set DNS1=202.96.128.143
set DNS2=202.96.128.68
set WINS=192.168.103.254
for /f "tokens=12 delims= " %%i in ('ipconfig /all^|find /i "物理地址"') do set mac=%%i
for /f "tokens=1,2*" %%i in ('ipconfig /all^|find "以太网适配器"')  do set Ethernet=%%k
for /f "tokens=1,2" %%i in ('more /e +21 %0 ^|find /i "%mac:~,-1%"') do set "name=%%i"&set "IP=%%j"
for /f "tokens=4" %%j in ('more /e +21 %0 ^|find /i "%mac:~,-1%"') do set "p=%%j"
reg add "HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Services\lanmanserver\parameters" /v srvcomment /t reg_sz /d %p% /f >nul 2>nul
reg add "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\lanmanserver\parameters" /v srvcomment /t reg_sz /d %p% /f >nul 2>nul
reg add "HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\ComputerName\ComputerName" /v ComputerName /t reg_sz /d %name% /f >nul 2>nul
reg add "HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\Tcpip\Parameters" /v "NV Hostname" /t reg_sz /d %name% /f >nul 2>nul
reg add "HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\Tcpip\Parameters" /v Hostname /t reg_sz /d %name% /f >nul 2>nul
netsh interface ip set address "%Ethernet:~,-2%" static %IP% %Mask% %GATEWAY% 1 >nul 2>nul
netsh interface ip set dns "%Ethernet:~,-2%" static %DNS1% register=PRIMARY >nul 2>nul
netsh interface ip add dns "%Ethernet:~,-2%"  %DNS2% index=2 >nul 2>nul
netsh interface ip set wins "%Ethernet:~,-2%" static %WINS%  >nul 2>nul
exit
A01 192.168.103.101 10-60-4b-77-fe-a0 北三楼A01
A02 192.168.103.102 10-60-4b-8b-50-be 北三楼A02
A03 192.168.103.103 10-60-4b-88-61-7f 北三楼A03
A04 192.168.103.104 10-60-4b-88-70-a6 北三楼A04
A05 192.168.103.105 10-60-4B-89-46-CE 北三楼A05
A06 192.168.103.106 10-60-4b-8b-51-3f 北三楼A06
A07 192.168.103.107 10-60-4b-8b-53-cd 北三楼A07
A08 192.168.103.108 10-60-4b-8b-51-38 北三楼A08
A09 192.168.103.109 10-60-4b-77-e5-c4 北三楼A09
A10 192.168.103.110 10-60-4b-77-ea-c2 北三楼A10
B01 192.168.103.111 10-60-4b-77-e7-e6 北三楼B01
B02 192.168.103.112 10-60-4b-77-fe-80 北三楼B02
B03 192.168.103.113 10-60-4b-88-5e-cc 北三楼B03
B04 192.168.103.114 10-60-4b-77-ea-a9 北三楼B04
B05 192.168.103.115 10-60-4b-77-fe-9e 北三楼B05
B06 192.168.103.116 10-60-4b-77-e7-eb 北三楼B06
B07 192.168.103.117 10-60-4b-88-70-a1 北三楼B07
B08 192.168.103.118 10-60-4b-8b-50-99 北三楼B08
B09 192.168.103.119 10-60-4b-86-2f-d2 北三楼B09
B10 192.168.103.120 10-60-4b-77-fe-f4 北三楼B10

TOP

回复 2# jiavip


改了还是没有用?是不是有多个“物理地址”,冲突了?IPCONFIG /ALL的内容见附件1.TXT

链接: https://pan.baidu.com/s/1ZFZWMXj7H9ZeJEIXC9oYaw 提取码: ee5v


@echo off
echo 正在配置IP地址、DNS请稍候……
set MASK=255.255.255.0
set GATEWAY=192.168.103.254
set DNS1=202.96.128.143
set DNS2=202.96.128.68
set WINS=192.168.103.254
for /f "tokens=12 delims= " %%i in ('ipconfig /all^|find /i "物理地址"') do set mac=%%i
for /f "tokens=1,2*" %%i in ('ipconfig /all^|find "以太网适配器"')  do set Ethernet=%%k
for /f "tokens=1,2" %%i in ('more /e +21 %0 ^|find /i "%mac:~,-1%"') do set "name=%%i"&set "IP=%%j"
for /f "tokens=4" %%j in ('more /e +21 %0 ^|find /i "%mac:~,-1%"') do set "p=%%j"
reg add "HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Services\lanmanserver\parameters" /v srvcomment /t reg_sz /d %p% /f >nul 2>nul
reg add "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\lanmanserver\parameters" /v srvcomment /t reg_sz /d %p% /f >nul 2>nul
reg add "HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\ComputerName\ComputerName" /v ComputerName /t reg_sz /d %name% /f >nul 2>nul
reg add "HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\Tcpip\Parameters" /v "NV Hostname" /t reg_sz /d %name% /f >nul 2>nul
reg add "HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\Tcpip\Parameters" /v Hostname /t reg_sz /d %name% /f >nul 2>nul
netsh interface ip set address "%Ethernet:~,-2%" static %IP% %Mask% %GATEWAY% 1 >nul 2>nul
netsh interface ip set dns "%Ethernet:~,-2%" static %DNS1% register=PRIMARY >nul 2>nul
netsh interface ip add dns "%Ethernet:~,-2%"  %DNS2% index=2 >nul 2>nul
netsh interface ip set wins "%Ethernet:~,-2%" static %WINS%  >nul 2>nul
exit
A01 192.168.103.101 10-60-4b-77-fe-a0 北三楼A01
A02 192.168.103.102 10-60-4b-8b-50-be 北三楼A02
A03 192.168.103.103 10-60-4b-88-61-7f 北三楼A03
A04 192.168.103.104 10-60-4b-88-70-a6 北三楼A04
A05 192.168.103.105 10-60-4B-89-46-CE 北三楼A05
A06 192.168.103.106 10-60-4b-8b-51-3f 北三楼A06
A07 192.168.103.107 10-60-4b-8b-53-cd 北三楼A07
A08 192.168.103.108 10-60-4b-8b-51-38 北三楼A08
A09 192.168.103.109 10-60-4b-77-e5-c4 北三楼A09
A10 192.168.103.110 10-60-4b-77-ea-c2 北三楼A10
B01 192.168.103.111 10-60-4b-77-e7-e6 北三楼B01
B02 192.168.103.112 10-60-4b-77-fe-80 北三楼B02
B03 192.168.103.113 10-60-4b-88-5e-cc 北三楼B03
B04 192.168.103.114 10-60-4b-77-ea-a9 北三楼B04
B05 192.168.103.115 10-60-4b-77-fe-9e 北三楼B05
B06 192.168.103.116 10-60-4b-77-e7-eb 北三楼B06
B07 192.168.103.117 10-60-4b-88-70-a1 北三楼B07
B08 192.168.103.118 10-60-4b-8b-50-99 北三楼B08
B09 192.168.103.119 10-60-4b-86-2f-d2 北三楼B09
B10 192.168.103.120 10-60-4b-77-fe-f4 北三楼B10

TOP

  1. ipconfig /all > 1.txt
复制代码
把1.txt压缩传上来看看
我帮忙写的代码不需要付钱。如果一定要给,请在微信群或QQ群发给大家吧。
【微信公众号、微信群、QQ群】http://bbs.bathome.net/thread-3473-1-1.html
【支持批处理之家,加入VIP会员!】http://bbs.bathome.net/thread-67716-1-1.html

TOP

for /f "tokens=12 delims= " %%i in ('ipconfig /all^|find /i "Physical Address"') do set mac=%%i
for /f "tokens=1,2*" %%i in ('ipconfig /all^|find "Ethernet adapter"')  do set Ethernet=%%k

这两句检索的字眼出错了"Physical Address"和"Ethernet adapter",不匹配。
XP 下IPCONFIG /ALL 命令出来的字段字眼和 WIN7是不一样的,,

具体是什么字眼自行打命令修改。我也不敢肯定你用的版本和我的本版本是否一样,,,,

TOP

返回列表