标题: [系统相关] 批处理读取计算机名和mac地址,同样的命令可以得出MAC地址但不能得出计算机名。 [打印本页]
作者: lywlhs 时间: 2008-10-5 14:58 标题: 批处理读取计算机名和mac地址,同样的命令可以得出MAC地址但不能得出计算机名。
if exist phyaddr.txt del phyaddr.txt
find "Physical Address" ipconfig.txt >phyaddr.txt
for /f "skip=2 tokens=12" %%b in (phyaddr.txt) do set Mac=%%b
for /f "delims== tokens=2" %%c in ('more ^<C:\Mac.ini^|find /i "%Mac%"') do set IP=%%c
pause
这样可以正确的得出Mac地址。但
if exist ipconfig.txt del ipconfig.txt
ipconfig /all >ipconfig.txt
if exist ComputerName.txt del ComputerName.txt
find "Host Name" ipconfig.txt >ComputerName.txt
for /f "skip=2 tokens=15" %%b in (ComputerName.txt) do set Mac=%%b
pause
却得不到计算机名。
朋友们,帮我看一下错在那里。谢谢
作者: pusofalse 时间: 2008-10-5 15:07
获取计算机名可以直接用echo %computername%
如果非要用你的这种方案,可以这样:- @ipconfig /all|findstr /c:"Host Name">computername.txt
复制代码
查找字符串,最好用findstr。
另:在for的选项中,最好写成这样:for /f "tokens=2 delims==" %%a ....
tokens=在delims=之前。
[ 本帖最后由 pusofalse 于 2008-10-5 15:09 编辑 ]
作者: lywlhs 时间: 2008-10-5 15:15
谢谢,谢谢。知道了。
作者: lywlhs 时间: 2008-10-5 15:16
@ipconfig /all|findstr /c:"Host Name">computername.txt
还是这样写比较简单。谢谢
欢迎光临 批处理之家 (http://www.bathome.net/) |
Powered by Discuz! 7.2 |