中国DOS联盟论坛

中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --
联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum
游客 | 登录 | 注册 | 会员 | 搜索 | 中国DOS联盟
中国DOS联盟论坛
现在时间是 2026-08-13 12:35
47,811 主题排行 / 349,897 发帖 / 今日 0 篇 / 48,256 会员排行
DOS学习入门 & 精彩文章 (教学室) » for 语句生成批处理问题
可打印版本  1,360 / 3
第1楼 txtrain 发表于 2007-02-02 03:13
初级用户 发帖 12 积分 28
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都把他当作命令处理.所以小弟无奈,请各位大侠支招
第2楼 zhclvip 发表于 2007-02-02 08:37
初级用户 发帖 50 积分 138
关键问题在于你写错了。
命令行下这么写:
for /f %a in ('dir /ad /b') do cd %a &……
批处理文件中双写%
这样生成的%a才是目录。
第3楼 zhclvip 发表于 2007-02-02 08:44
初级用户 发帖 50 积分 138
for /f %a in ('dir /ad /b') do @echo cd %a ^&winrar s -f e:\%a.rar ^&cd .. >>a.bat

加上转义符^就可以输出到文件了。
第4楼 txtrain 发表于 2007-02-03 00:38
初级用户 发帖 12 积分 28
zhclvip:
我想写成批处理我想要的就是那个转义符,感觉你能够这么短的时间给我提供,谢谢.

另外对于你说的."批处理文件中双写%,这样生成的%a才是目录。"感觉有异义,因为%a所提供的只是一个名字而已.它并没有所谓文件或者目录属性.很感谢你回答我的问题.这样我以后每天的工作量就少多了,谢谢你
[ 联系联盟系统管理团队 - 中国DOS联盟 - 标准版 ]
Sponsored by ifanr Inc | © 2001–2023