标题: [文件操作] [已解决]如何处理unzip参数内的带空格的路径? [打印本页]
作者: zjw767676 时间: 2009-12-13 22:56 标题: [已解决]如何处理unzip参数内的带空格的路径?
用unzip将zip文件解压到指定文件夹- @echo off
- unzip "bak.zip" -d e:\as\
- pause
复制代码
指定路径不能加引号如:"e:\as\"加了会出错
那如何处理带空格的路径呢?
[ 本帖最后由 zjw767676 于 2009-12-13 23:12 编辑 ]
作者: Batcher 时间: 2009-12-13 23:02
把最后那个\删掉
C:\Test>unzip a.zip -d "C:\test\Bat Home"
Archive: a.zip
extracting: C:/test/Bat Home/a.txt
|
作者: zjw767676 时间: 2009-12-13 23:11 标题: 回复 2楼 的帖子
原来是这样,感谢Batcher!!!!!!
我发现这样也可以:- @echo off
- unzip "bak.zip" -d "e:\a s\
- pause
复制代码
难道这里的"和\也能组成一对吗?
作者: zqz0012005 时间: 2009-12-14 12:49
命令行的解析问题,引号"并不是命令行实际参数的组成部分,只是为了对引号对中的特殊字符进行转义(将起分隔符作用的空格变成普通意义上的空格)。
比如上面的命令只有一个参数,行首的引号将后面的空格都转义了
"C:\Program Files\Internet Explorer\IEXPLORE.EXE
由于MS瘟到死CMD程序的按行处理机制,且引号不能转义回车符(行结束符),一行输入结束就是命令行结束,因此可以不要配对的另一个引号,命令行中原有的最后一个引号后面的内容自动成为一个参数。
Linux的shell就完善多了。
作者: zjw767676 时间: 2009-12-14 13:18 标题: 回复 4楼 的帖子
加一个引号明白了!
那请问版主为什么加了引号对反而出错呢?就多了个\
"e:\a s" 正确
"e:\a s\ 正确
"e:\a s\" 错误
"e:\as\" 错误
[ 本帖最后由 zjw767676 于 2009-12-14 13:23 编辑 ]
作者: zqz0012005 时间: 2009-12-14 19:12
能否给出出错提示?
可能是unzip程序将\当作了转义字符,即它认为的路径是e:\a s",后面多了个引号。
作者: zjw767676 时间: 2009-12-14 19:47 标题: 回复 6楼 的帖子
版主真高人啊!
- @echo off
- %~dp0\sanfang\unzip -o %~dp0\"OneKey_6.3_XiaZaiBa.zip" -d "d:\Program Files\one\"
- pause
复制代码
[attach]2107[/attach]
[ 本帖最后由 zjw767676 于 2009-12-14 19:49 编辑 ]
欢迎光临 批处理之家 (http://bathome.net./) |
Powered by Discuz! 7.2 |