objShell.run("cmd /K C:\temp\a\test2.vbs", 0, True)
никогда не заканчивается из-за переключателя /K
:
cmd /?
Starts a new instance of the Windows command interpreter
CMD [/A | /U] [/Q] [/D] [/E:ON | /E:OFF] [/F:ON | /F:OFF] [/V:ON | /V:OFF]
[[/S] [/C | /K] string]
/C Carries out the command specified by string and then terminates
/K Carries out the command specified by string but remains
Так что cmd
окно остается открытым, но оно скрыто из-за intWindowStyle
параметр: 0 = Скрывает окно и активирует другое окно , предполагая, что шаблон синтаксиса метода Run
имеет вид .Run(strCommand, [intWindowStyle], [bWaitOnReturn])
Используйте либо
strErrorCode = objShell.run("cmd /C C:\temp\a\test2.vbs", 0, True)
или
strErrorCode = objShell.run("wscript.exe C:\temp\a\test2.vbs", 0, True)
или даже
strErrorCode = objShell.run("C:\temp\a\test2.vbs", 0, True)