VB6:通过Shell执行两个命令
我试图通过vb6 Shell命令执行两个命令。两个命令已用“&&”字符串拆分。以下是我想要执行的:VB6:通过Shell执行两个命令,shell,vb6,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命令提示符执行上
"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函数执行的上面这行有什么问题?VB6 shell()函数是CreateProcess()上的一个薄包装,根本不涉及“shell”。CreateProcess()不理解CMD.EXE的命令语法,操作级别低得多
要执行您似乎认为需要的操作,您必须使用Shell()运行“fat old CMD.EXE”(命令Shell)的实例,并将命令传递给该实例。最简单的方法是创建一个批处理文件(.bat),其中包含多个命令。然后从VB6执行批处理文件。