godhawk 发表于 2011-12-23 16:13:43

[已解决]一个调用WINRAR解压的识别问题

本帖最后由 godhawk 于 2011-12-30 14:26 编辑

我用这样的语句调用winrar解压一个文件

        Run(@ComSpec & " /c "& " start winRAR.exe e -ad" & " " & "C:\downloads\1liteexr.rar", "C:\downloads\Exfolder" , @SW_HIDE)

可以正常运行,但是这样的就会提示出错

        Run(@ComSpec & " /c "& " start winRAR.exe e -ad" & " " & "C:\downloads\复件 (2) 1liteexr.rar", "C:\downloads\Exfolder" , @SW_HIDE)

提示说找不到文件-_-

难道是因为winrar不支持中文吗?

但是如果我换成 复件1liteexr.rar ,又成功了……

应该怎么解决呢?

einiter 发表于 2011-12-23 17:03:45

本帖最后由 einiter 于 2011-12-25 19:53 编辑

Run(’start winRAR.exe e -ad“C:\downloads\复件 (2) 1liteexr.rar” C:\downloads\Exfolder‘, @SW_HIDE)这样去运行一下看看!!

刚才写错了。

user3000 发表于 2011-12-23 19:32:00

还要考虑软件是否支持长文件名!
可以换成相应短名测试

dhwc 发表于 2011-12-25 09:44:39

WINRAR.EXE在什么位置?你没指定程序路径吧

zxxputian1 发表于 2011-12-25 10:17:40

winrar命令功能确实很多

bdancerlc 发表于 2011-12-25 11:12:29

是因为路径中 有空格?..

godhawk 发表于 2011-12-26 08:57:59

本帖最后由 godhawk 于 2011-12-26 09:23 编辑

这样去运行一下看看!!

刚才写错了。
einiter 发表于 2011-12-23 17:03 http://www.autoitx.com/images/common/back.gif


不行呢,你的代码我把双引号和单引号都改成英文标点之后,运行不报错了,但是运行之后也没反应,文件并没有被解压……

不像我开始的代码,起码会提示出错,不会没反应(另外winrar不需要路径可以直接调用的)

可能真的是空格的问题,有个空格就出错了 但是还是不知道怎么解决,因为文件名本身带空格-_-

godhawk 发表于 2011-12-26 09:24:38

还要考虑软件是否支持长文件名!
可以换成相应短名测试
user3000 发表于 2011-12-23 19:32 http://www.autoitx.com/images/common/back.gif


请问怎么转换为短名?

user3000 发表于 2011-12-26 09:35:48

已经帮你测试出结果:
Run(@ComSpec & " /c "& " start winRAR.exe e -ad"& ' "C:\downloads\复件 (2) 1liteexr.rar"', "C:\downloads\Exfolder" , @SW_HIDE)
是路径中包含空格, 这时程序运行参数要用双引号括住, 跟Windows的快捷方式的路径一样.
很多用命令行运行的程序都必须这样做, 比如 Beyong Compare 也是一样.

user3000 发表于 2011-12-26 09:38:04

其实6楼已经给出过提示, 虽然带个问号, 但如果是我, 只要有一丝可能, 都会尝试下的

user3000 发表于 2011-12-26 09:39:40

请问怎么转换为短名?
godhawk 发表于 2011-12-26 09:24 http://www.autoitx.com/images/common/back.gif


    有相关函数的,FileGetShortName

einiter 发表于 2011-12-26 09:42:09


#include <Process.au3>
_RunDOS ('start winrar.exe e -ad "d:\复件 reg.rar" c:\')
这个测试过。可以的!
你把文件名替换再试试

redapple2008 发表于 2011-12-29 15:46:36

进来学习一下了,谢谢

godhawk 发表于 2011-12-30 14:26:02

谢谢9楼和12楼的朋友,果然是这个问题,终于明白了

thanks,结贴
页: [1]
查看完整版本: [已解决]一个调用WINRAR解压的识别问题