Board logo

标题: [文件操作] 【已结】关于用winrar压缩文件的问题 [打印本页]

作者: zcy85611    时间: 2009-1-12 15:12     标题: 【已结】关于用winrar压缩文件的问题

  1. @echo off & setlocal EnableDelayedExpansion
  2. for %%a in (*.txt) do (
  3. set t = %%a
  4. winrar a -m0 !t:~0,-4! "%%a"
  5. )
  6. 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楼 的帖子

  1. @echo off
  2. set str = bathome
  3. echo %str %
  4. pause
  5. echo %str%
  6. 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