飘渺风 发表于 2011-8-4 09:28:27

AU3执行CMD命令的疑问

在windows下,开始->CMD,弹出命令提示符窗口,然后输入CD C:\,进入到C盘根目录,然后输入: "c:\Program Files\WinRAR\WinRAR.exe" e -o+ "C:\1.rar"
回车后,就能把 C:\1.rar 文件解压到C:\目录下了。

也就是说,用参数运行rar解压某个压缩包到当前目录。
-----------------------------------------------------------
上面这个功能,如何用AU3 实现?

我已经用下面的AU3命令可以实现了,但是不好,需要用 send来输入,如下:
Run(@COMSPEC &' /"'&@ScriptDir &'"'& '>',"",@SW_HIDE);
WinWait("管理员: C:\windows\system32\cmd.exe","",5);
SendKeepActive("管理员: C:\windows\system32\cmd.exe")
Send('"C:\Program Files\WinRAR\WinRAR.exe"' & " e -o+ " &'"'& @ScriptDir &'\1.RAR"'&@CR);
WinClose("管理员: C:\windows\system32\cmd.exe","");

如果后面的命令太长,用send就好好几秒才能输完,能不用直接在 Run 函数的参数里实现一次把所有命令都输入,完后就直接用 rar解压这个1.rar 压缩包了?

happytc 发表于 2011-8-4 09:56:39

本帖最后由 happytc 于 2011-8-4 09:58 编辑

奇怪的想法,为什么要调用Dos呢?
直接调用不行?

FileChangeDir("C:\")

RunWait('c:\Program Files\WinRAR\WinRAR.exe' & " e -o+ " & "C:\1.rar", @WorkingDir, @SW_HIDE)

飘渺风 发表于 2011-8-4 10:36:15

奇怪的想法,为什么要调用Dos呢?
直接调用不行?

FileChangeDir("C:\")

RunWait('c:\Program Files ...
happytc 发表于 2011-8-4 09:56 http://www.autoitx.com/images/common/back.gif


    谢谢,呵呵,不用CMD这样确实方便一点,呵呵
页: [1]
查看完整版本: AU3执行CMD命令的疑问