您当前位置: 首页 » 脚本 » The damn “for” in batch file!

The damn “for” in batch file!

2008年09月11日 | 发表评论(0) 查看评论

本来想在单个批处理文件里面实现类似下面的操作:

@echo off
SET num=0
FOR /D %%i IN (*) DO (
SET /a num=%num%+1
echo %num%.%%i
)
echo %num%
pause>nul

结果发现这个该死FOR里面居然不能改变%num%的值,查了下 FOR /? 说是要用CMD /v启动命令行,然后把%num%改成!num!,我本来的目的是直接双击这一个批处理就完成操作的,看来不能用批处理实现了,去除这个部分,结果就有些不完美了,转向研究VBS中,看看VBS脚本能不能比较完美地实现我想要完成的功能,没找到好点的脚本对象手册,MSDN网上查又太慢,比较郁闷的

Update(2010-06-01): 原来通过设置延迟环境变量扩展,把%num%改为!num!后可实现:

@echo off & setlocal enabledelayedexpansion
SET num=0
FOR /D %%i IN (*) DO (
SET /a num=!num!+1
echo !num!.%%i
)
echo %num%
pause>nul

参见:

  1. http://www.java3z.com/cwbwebhome/article/article9/973.html
分享到: 更多
分类:

脚本

| 标签:

, ,

发表评论?

0 条评论。

发表评论


注意 - 你可以用以下 HTML tags and attributes:
<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>