我写了一aa.vbs文件,里面的代码如下:
Dim cmdLine
Set cmdLine = CreateObject("WScript.shell") cmdLine.Run ("cscript ..\src\docgen.wsf")
msgbox "1"
cmdLine.Run ("test2.bat")
msgbox "2"
但是我发现了一个问题,在cmdLine.Run ("cscript ..\src\docgen.wsf")这条语句还没执行完的时候下面的msgbox就开始执行了,而我想要的结果是等cmdLine.Run ("cscript ..\src\docgen.wsf")执行完后再执行下一条代码,(同样的执行完cmdLine.Run ("test2.bat")再执行msgbox "2"),就像.bat文件那样,一条完了才执行下一条,不知在vbs里能不能实现呢?请高手们给点建议,谢谢!

解决方案 »

  1.   

    用api吧。
    CreateProcess  '执行文件
    WaitForSingleObject  '等待运行结束
      

  2.   

    .vbs文件里可以用API吗?小弟还没用过API呢,不知代码怎么写,能来点代码吗?高手们帮我看看了,还有别的办法吗?偶看见API就头疼了,呵呵
      

  3.   

    Function Run(Command As String, [WindowStyle], [WaitOnReturn]) As Long
        IWshRuntimeLibrary.WshShell 的成员有个WaitOnReturn参数,用0或1,true或false试试吧。