标题: 获取网卡物理的地址的批处理在win7为何不能使用? [打印本页]
作者: 骑牛挂马 时间: 2012-9-2 21:06 标题: 获取网卡物理的地址的批处理在win7为何不能使用?
以下代码在xp里可以正常使用- echo 正在获取本地网卡物理地址...
- for /f "tokens=1,2 delims=:" %%i in ('wmic nic where "netconnectionid='本地连接'" get macaddress') do set q=%%i-%%j
- echo %q%
- pause
复制代码
但是在2003和7里面却不能够使用。- - \set q=macaddress
- c:/q=00-00
- - \set q=
- c:/echo -
- -
复制代码
请问这是怎么了,要怎么修改。
作者: CrLf 时间: 2012-9-2 22:52
win7 下的 wmic 输出中多了俩回车,可以用 findstr 过滤- for /f "tokens=1,2 delims=:" %%i in ('wmic nic where "netconnectionid='本地连接'" get macaddress^|findstr "['-Z]"') do set q=%%i-%%j
- echo %q%
- pause
复制代码
作者: 骑牛挂马 时间: 2012-9-3 17:09
回复 2# CrLf
感谢巡查的帮助,不过还是不行,一样是多输出回车。
有网友帮我弄好了:- @echo off
- setlocal enabledelayedexpansion
- echo 正在获取本地网卡物理地址...
- for /f "tokens=1,2,3,4,5,6 delims=:" %%i in ('wmic nic where "netconnectionid='本地连接'" get macaddress') do (set /a a+=1
- if !a!==2 set "CardMac_=%%i-%%j-%%k-%%l-%%m-%%n")
- echo !CardMac_!
- pause
复制代码
作者: apang 时间: 2012-9-4 07:22
本帖最后由 apang 于 2012-9-4 07:23 编辑
- @echo off
- echo 正在获取本地网卡物理地址...
- for /f %%i in ('wmic nic where "netconnectionid='本地连接'" get macaddress^|find ":"') do set "CardMac_=%%i"
- echo %CardMac_::=-%
- pause
复制代码
作者: CrLf 时间: 2012-9-4 20:41
getmac
作者: wodesitanfu 时间: 2012-9-5 08:12
就找个MAC地址而已,这么麻烦~可以用ipconfig,可以用getmac
作者: forfiles 时间: 2012-9-5 08:15
回复 6# wodesitanfu
可能楼主是希望写一个XP/2003/Win7通用的代码
作者: wodesitanfu 时间: 2012-9-5 17:30
那ipconfig不能通用吗?
作者: hgnhgzf 时间: 2014-9-30 21:45
本帖最后由 hgnhgzf 于 2014-9-30 21:50 编辑
回复 4# apang
@echo off
echo 正在获取本地网卡物理地址...
for /f %%i in ('wmic nic where "netconnectionid='本地连接'" get macaddress^|find ":"') do set "CardMac_=%%i"
echo %CardMac_::=-%
pause
请问:如果先扫描局域网内所有机器IP、MAC、机器名等信息列表,存入info.txt文件,然后通过上述代码获取本机MAC,并据此获得info.txt中对应的IP、机器名,自动填入WIN7系统中,该如何写代码?
欢迎光临 批处理之家 (http://bathome.net./) |
Powered by Discuz! 7.2 |