中国DOS联盟论坛

中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --

联盟域名:www.cn-dos.net  论坛域名:www.cn-dos.net/forum
DOS,代表着自由开放与发展,我们努力起来,学习FreeDOS和Linux的自由开放与GNU精神,共同创造和发展美好的自由与GNU GPL世界吧!

游客:  注册 | 登录 | 命令行 | 会员 | 搜索 | 上传 | 帮助 »
作者:
标题: for 语句生成批处理问题 上一主题 | 下一主题
txtrain
初级用户





积分 28
发帖 12
注册 2007-1-19
状态 离线
『楼 主』:  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都把他当作命令处理.所以小弟无奈,请各位大侠支招

2007-2-2 03:13
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
zhclvip
初级用户





积分 138
发帖 50
注册 2007-1-23
状态 离线
『第 2 楼』:  

关键问题在于你写错了。
命令行下这么写:
for /f %a in ('dir /ad /b') do cd %a &……
批处理文件中双写%
这样生成的%a才是目录。

2007-2-2 08:37
查看资料  发短消息 网志   编辑帖子  回复  引用回复
zhclvip
初级用户





积分 138
发帖 50
注册 2007-1-23
状态 离线
『第 3 楼』:  

for /f %a in ('dir /ad /b') do @echo cd %a ^&winrar s -f e:\%a.rar ^&cd .. >>a.bat

加上转义符^就可以输出到文件了。

   此帖被 +1 点积分    点击查看详情   
评分人:【 txtrain 分数: +1  时间:2007-2-3 00:31


2007-2-2 08:44
查看资料  发短消息 网志   编辑帖子  回复  引用回复
txtrain
初级用户





积分 28
发帖 12
注册 2007-1-19
状态 离线
『第 4 楼』:  

zhclvip:
我想写成批处理我想要的就是那个转义符,感觉你能够这么短的时间给我提供,谢谢.

另外对于你说的."批处理文件中双写%,这样生成的%a才是目录。"感觉有异义,因为%a所提供的只是一个名字而已.它并没有所谓文件或者目录属性.很感谢你回答我的问题.这样我以后每天的工作量就少多了,谢谢你

2007-2-3 00:38
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复

请注意:您目前尚未注册或登录,请您注册登录以使用论坛的各项功能,例如发表和回复帖子等。


可打印版本 | 推荐给朋友 | 订阅主题 | 收藏主题



论坛跳转: