史上最强之dos命令 - "FOR" - 高级应用范例
2004-05-25 作者:bluebear 阅读量:
3. 可以用 /f 参数将某一命令执行结果作为循环范围
非常有用的功能。比如,我们想知道目前的环境变量有哪些名字(我们只要名字,不要值)。可是SET命令的输出是“名字=值”的格式,现在可以用FOR来只取得名字部分:
FOR /F "delims==" %i IN ('set') DO @echo %i
将看到:
ALLUSERSPROFILE
APPDATA
CLASSPATH
CommonProgramFiles
COMPUTERNAME
ComSpec
dircmd
HOMEDRIVE ......
这里是将set命令执行的结果拿来作为循环范围。delims==表示用=作为分隔符,由于FOR /F默认是用每行第一个TOKEN,所以可以分离出变量名。如果是想仅列出值:
FOR /F "delims== tokens=2" %i IN ('set') DO @echo %i
tokens=2和前例相同,表示将第二列(由=作为分隔符)作为循环值。
再来个更有用的例子:
我们知道 date /t (/t表示不要询问用户输入)的输出是象这样的:
Sat 07/13/2002
现在我想分离出日期部分,也就是13:
for /f "tokens=3 delims=/ " %a in ('date /t') do @echo %a
实际上把 tokens后面换成1,2,3或4,你将分别得到Sat, 07, 13和2002。注意delims=/后面还有个空格,表示/和空格都是分隔符。由于这个空格delims必须是/f选项的最后一项。
再灵活一点,象本文开头提到的,将日期用2002-07-13的格式输出:
for /f "tokens=2,3,4 delims=/ " %a in ('date /t') do @echo %c-%a-%b
当tokens后跟多个值时,将分别映射到%a, %b, %c等。实际上跟你指定的变量有关,如果你指定的是 %i, 它们就会用%i, %j, %k等。
灵活应用这一点,几乎没有做不了的事。
上一页 1 2 3 4 [5] 6 7 下一页
责任编辑:平生一笑
文章来源:ror 2004-05-25
请发表评论或留言 |
热门评论文章(165楼)·评测:死磕面板!三星 226BW液晶(146楼)·评测:台电T29专杀nano与魅族 M6 (118楼)·评测:王朝更替!魅族miniplayer (85楼)·机箱也疯狂,小编亲历五年升级路 (82楼)·评测:硕美科质量遭质疑是真是假 相关文章 |
| :硬件: | :软件: |
上海趋安计算机科技有限公司 蔫老虎在线评测网·版权所有 沪ICP备05007473号
Copyright © 2002-2007 PCICP.COM.All Rights Reserved.
E-Mail:support@pcicp.com Tel:021-54253292 54253293 Fax:021-54253293

























