标题: [文件操作] 【已结】关于用winrar压缩文件的问题 [打印本页]
作者: zcy85611 时间: 2009-1-12 15:12 标题: 【已结】关于用winrar压缩文件的问题
- @echo off & setlocal EnableDelayedExpansion
- for %%a in (*.txt) do (
- set t = %%a
- winrar a -m0 !t:~0,-4! "%%a"
- )
- pause
复制代码
比如我一个文件夹下面有1.txt,2.txt,3.txt这几个文件,我想用winrar分别压缩成1.rar 2.rar 3.rar,上面的代码是我自己写的,结果执行以后的结果是所有的文件都被压缩到了 ~0,-4.rar的文件里面。
难道是因为winrar不支持参数吗?
我看了winrar自带的帮助文档,里面似乎没有把 每个文件单独放到压缩文件中 的这个功能,但是在winrar的图形界面里面是有这个功能的。
请大家看看这个问题应该怎么解决
[ 本帖最后由 zcy85611 于 2009-1-12 16:24 编辑 ]
作者: Batcher 时间: 2009-1-12 16:02
除了版主,其他人不允许回答这个问题?
观望中...
作者: zcy85611 时间: 2009-1-12 16:23
...不是这个意思了,习惯性表达~~~不好意思,改成请大家看看
作者: Batcher 时间: 2009-1-12 16:29
把set命令中等号两边的空格删除试试
作者: zcy85611 时间: 2009-1-12 16:37
原帖由 Batcher 于 2009-1-12 16:29 发表
把set命令中等号两边的空格删除试试
。。。成功了,请教一下为什么把等号两边的空格删除就可以了??以前用set命令的时候等号两边加空格也没有出现过问题啊~
[ 本帖最后由 zcy85611 于 2009-1-12 16:41 编辑 ]
作者: Batcher 时间: 2009-1-12 16:59 标题: 回复 5楼 的帖子
- @echo off
- set str = bathome
- echo %str %
- pause
- echo %str%
- pause
复制代码
注意观察空格
作者: zcy85611 时间: 2009-1-12 17:02
原帖由 Batcher 于 2009-1-12 16:59 发表
@echo off
set str = bathome
echo %str %
pause
echo %str%
pause注意观察空格
明白了,加空格本来是为了看起来舒服点,没想到导致了这样的结果。感谢版主的帮助!
作者: zjw767676 时间: 2009-1-12 22:22
原帖由 Batcher 于 2009-1-12 16:59 发表
@echo off
set str = bathome
echo %str %
pause
echo %str%
pause注意观察空格
难道%str%不是变量?或者说变量名包含空格?那字符串是 bathome而不是bathome?
作者: zcy85611 时间: 2009-1-13 17:32
原帖由 zjw767676 于 2009-1-12 22:22 发表
难道%str%不是变量?或者说变量名包含空格?那字符串是 bathome而不是bathome?
我是这样理解的
set str = 如果str后面加了空格,那么相当于你的变量的名字应该是str(空格),就是说把空格也算到了变量名里。
同理等号后面= bathhome,就是说(空格)bathome才是你赋给str的值。所以两边都不能加空格,如果加了意思就变了。
欢迎光临 批处理之家 (http://bbs.bathome.net/) |
Powered by Discuz! 7.2 |