标题: 求助FOR命令
[打印本页]
作者: xzc9999
时间: 2007-1-12 05:25
标题: 求助FOR命令
现在的MAC格式是
0013d3fcd64c(或者是0013.d3fc.d64c)
要这样才可以转这个样子:
00-13-d3-fc-d6-4c
不知道delims怎么定义!!!!!!
作者: ccwan
时间: 2007-1-12 07:26
第一种格式代码:
@echo off&setlocal enabledelayedexpansion
set var=0013d3fcd64c
for /l %%i in (0 2 10) do (
set a=!var:~%%i,2!
set/p=!a!-<nul>>a.txt
)
for /f %%i in (a.txt) do set str=%%i
set str=%str:~0,-1%
echo %str%
pause
作者: ccwan
时间: 2007-1-12 07:27
分解一下
@echo off
set var=0013d3fcd64c
set a=%var:~0,2%
set b=%var:~2,2%
set c=%var:~4,2%
set d=%var:~6,2%
set e=%var:~8,2%
set f=%var:~10,2%
echo %a%-%b%-%c%-%d%-%e%-%f%
pause
作者: xzc9999
时间: 2007-1-12 21:34
Originally posted by xzc9999 at 2007-1-11 04:25 PM:
现在的MAC格式是
0013d3fcd64c(或者是0013.d3fc.d64c)
要这样才可以转这个样子:
00-13-d3-fc-d6-4c
不知道delims怎么定义!!!!!!
有点晕
能不能写的简单点
我现在有大量的MAC在一个文本中!
需要批量转换,现在我知道怎么把:
00-13-d3-fc-d6-4c
转0013.d3fc.d64c
使用
for /f "delims=- tokens=1-6" %i in (123.txt) do @echo %i%j.%k%l.%m%n>>new123.txt
能不能写的象这样呢?
作者: lxmxn
时间: 2007-1-13 09:44
::对于123.txt文件中0013d3fcd64c形式的MAC地址,可以在命令行执行下面的命令:
((for /f "delims=" %i in (u) do @set a=%i&@>>mac1.txt call echo %a:~0,2%-%a:~2,2%-%a:~4,2%-%a:~6,2%-%a:~8,2%-%a:~10,2%)&set a=)
::::对于123.txt文件中0013.d3fc.d64c形式的MAC地址,可以在命令行执行下面的命令:
((for /f "delims=" %i in (123.txt) do @set a=%i&@>>mac2.txt call echo %a:~0,2%-%a:~2,2%-%a:~5,2%-%a:~7,2%-%a:~10,2%-%a:~12,2%)&set a=)
作者: xzc9999
时间: 2007-1-14 05:04
Originally posted by lxmxn at 2007-1-12 08:44 PM:
::对于123.txt文件中0013d3fcd64c形式的MAC地址,可以在命令行执行下面的命令:
((for /f "delims=" %i in (u) do @set a=%i&@>>mac1. ...
问题解决了,多谢二位
不过另外问下
那个CALL语句有什么作用
有相关说明吗?
作者: lxmxn
时间: 2007-1-14 16:05
命令行中的call一般是与变量延迟有关,搜索一下论坛关于“变量延迟”的帖子,里面有很详细的讲解。