标题: for 语句生成批处理问题
[打印本页]
作者: txtrain
时间: 2007-2-2 03:13
标题: for 语句生成批处理问题
首先在要生成的批处理运行的工作目录下有好多文件夹,批处理实现的功能是将这些文件夹及里面的文件压缩,放在指定目录,当然外部调用rar 不是问题的重点.
我写的语句是
for /f %a in ('dir /b') do cd %a &winrar s -f e:\%a.rar &cd ..
这样执行下来得到的答案是"找不到压缩文件."也就是说,要实现这个功能必须用批处理执行才行.所以这个问题就变成了.for 语句生成批处理的问题for /f %a in ('dir /b') do @echo cd %a &winrar s -f e:\%a.rar &cd .. >>a.bat这时你会发现中间要生成批处理的那部分内容无论是括起来还是引起来,echo都把他当作命令处理.所以小弟无奈,请各位大侠支招
作者: zhclvip
时间: 2007-2-2 08:37
关键问题在于你写错了。
命令行下这么写:
for /f %a in ('dir /ad /b') do cd %a &……
批处理文件中双写%
这样生成的%a才是目录。
作者: zhclvip
时间: 2007-2-2 08:44
for /f %a in ('dir /ad /b') do @echo cd %a ^&winrar s -f e:\%a.rar ^&cd .. >>a.bat
加上转义符^就可以输出到文件了。
作者: txtrain
时间: 2007-2-3 00:38
zhclvip:
我想写成批处理我想要的就是那个转义符,感觉你能够这么短的时间给我提供,谢谢.
另外对于你说的."批处理文件中双写%,这样生成的%a才是目录。"感觉有异义,因为%a所提供的只是一个名字而已.它并没有所谓文件或者目录属性.很感谢你回答我的问题.这样我以后每天的工作量就少多了,谢谢你