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

[系统相关] 批处理读取计算机名和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

却得不到计算机名。
朋友们,帮我看一下错在那里。谢谢

获取计算机名可以直接用echo %computername%
如果非要用你的这种方案,可以这样:
  1. @ipconfig /all|findstr /c:"Host Name">computername.txt
复制代码
查找字符串,最好用findstr。
另:在for的选项中,最好写成这样:for /f "tokens=2 delims==" %%a ....
tokens=在delims=之前。

[ 本帖最后由 pusofalse 于 2008-10-5 15:09 编辑 ]
心绪平和,眼藏静谧。

TOP

谢谢,谢谢。知道了。

TOP

@ipconfig /all|findstr /c:"Host Name">computername.txt
还是这样写比较简单。谢谢

TOP

返回列表