VB6:通过Shell执行两个命令

时间:2014-03-22 11:53:44

标签: shell vb6

我正在尝试通过vb6 Shell命令执行两个命令。两个命令已被“&&”字符串拆分。这是我想要执行的内容:

"D:\thepath\unzip.exe" -o -q "D:\7zipa.zip" -d"D:\7zipa_zip" && cmd /c echo Hi>C:\Users\AmirrezA\AppData\Local\Temp\UZP.txt

第二个命令执行时,它被称为“D:\ thepath \ unzip.exe”的一部分,但是当我尝试通过Windows命令提示符执行上面的同一行时,没有问题。上面这行无法通过VB6 shell函数执行的错误是什么?

1 个答案:

答案 0 :(得分:0)

VB6 Shell()函数是CreateProcess()的一个瘦包装器,根本不涉及“shell”。 CreateProcess()不理解CMD.EXE的命令语法,并且工作在更低的级别。

要做你认为想做的事情,你必须使用Shell()来运行“fat old CMD.EXE”(命令shell)的实例并将命令传递给它。