[已解决]一个调用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-25 19:53 编辑
Run(’start winRAR.exe e -ad“C:\downloads\复件 (2) 1liteexr.rar” C:\downloads\Exfolder‘, @SW_HIDE)这样去运行一下看看!!
刚才写错了。 还要考虑软件是否支持长文件名!
可以换成相应短名测试 WINRAR.EXE在什么位置?你没指定程序路径吧 winrar命令功能确实很多 是因为路径中 有空格?.. 本帖最后由 godhawk 于 2011-12-26 09:23 编辑
这样去运行一下看看!!
刚才写错了。
einiter 发表于 2011-12-23 17:03 http://www.autoitx.com/images/common/back.gif
不行呢,你的代码我把双引号和单引号都改成英文标点之后,运行不报错了,但是运行之后也没反应,文件并没有被解压……
不像我开始的代码,起码会提示出错,不会没反应(另外winrar不需要路径可以直接调用的)
可能真的是空格的问题,有个空格就出错了 但是还是不知道怎么解决,因为文件名本身带空格-_- 还要考虑软件是否支持长文件名!
可以换成相应短名测试
user3000 发表于 2011-12-23 19:32 http://www.autoitx.com/images/common/back.gif
请问怎么转换为短名? 已经帮你测试出结果:
Run(@ComSpec & " /c "& " start winRAR.exe e -ad"& ' "C:\downloads\复件 (2) 1liteexr.rar"', "C:\downloads\Exfolder" , @SW_HIDE)
是路径中包含空格, 这时程序运行参数要用双引号括住, 跟Windows的快捷方式的路径一样.
很多用命令行运行的程序都必须这样做, 比如 Beyong Compare 也是一样. 其实6楼已经给出过提示, 虽然带个问号, 但如果是我, 只要有一丝可能, 都会尝试下的 请问怎么转换为短名?
godhawk 发表于 2011-12-26 09:24 http://www.autoitx.com/images/common/back.gif
有相关函数的,FileGetShortName
#include <Process.au3>
_RunDOS ('start winrar.exe e -ad "d:\复件 reg.rar" c:\')
这个测试过。可以的!
你把文件名替换再试试 进来学习一下了,谢谢 谢谢9楼和12楼的朋友,果然是这个问题,终于明白了
thanks,结贴
页:
[1]