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

[文本处理] [已解决]批处理for语句中delims选项能否用减号-作为分隔符

是不是delims=后面不能用减号-
  1. @echo off
  2. set macid=
  3. for /f "tokens=12 delims=-" %%i in ('ipconfig /all ^| find /i "Physical address"') do set macid=%%i
  4. echo %macid%
复制代码

[ 本帖最后由 steedwu 于 2009-7-2 09:24 编辑 ]
1

评分人数

    • keen: 感谢主动给标题标注[已解决]字样PB + 2

可以。
但对于这段代码,可以这样:
  1. @echo off
  2. set macid=
  3. for /f "tokens=2 delims=:" %%i in ('ipconfig /all ^| find /i "Physical address"') do set macid=%%i
  4. echo %macid%
复制代码

TOP

楼上的,不行啊,我想把中间的减号去掉只要数字,
譬如:001D706B1323
而不是00-1D-70-6B-13-23

TOP

回复 3楼 的帖子

这样:
  1. @echo off
  2. set macid=
  3. for /f "tokens=2 delims=:" %%i in ('ipconfig /all ^| find /i "Physical address"') do set macid=%%i
  4. echo %macid:-=%
  5. pause
复制代码
(*^_^*)

TOP

已解决

多谢keen指点, 论坛里高手如云啊

TOP

按楼主的思路写,作最少的改动. 能找到本机所有的mac 地址
  1. @echo off&setlocal enabledelayedexpansion
  2. set macid=
  3. for /f "tokens=1-6 delims=-" %%i in ('ipconfig /all ^| find /i "Physical address"') do set macid=%%i%%j%%k%%l%%m%%n&echo !macid:~-13!
  4. pause
复制代码

TOP

返回列表