2016-10-13 16 views
2

HP ALMのテストをトリガするVBScriptがUFTで実行されます - このvbsはで起動し、cscriptでのみ動作します。VBSでcscriptのcmdを使用して別のvbsをトリガする

私は最初にcmdに行くことを控えることができますが、cmdで実行されるファイルをトリガーする別のvbsを作成してcscriptとしてください。それとももっと良い解決策がありますか?

以下のコードは機能しません。

Set oShell = WScript.CreateObject ("WScript.Shell") 

oShell.run "cmd.exe" "" c:\Windows\SysWOW64\cscript.exe C:\Temp\Unattended.vbs"" 

Set oShell = Nothing 

答えて

0

ここでは、VBSを実行する方法のいくつかの例を示します。システムがデフォルトでcscriptを実行している場合、最後のオプションが有効になります。

Set objShell = CreateObject("WScript.Shell") 

'run with wscript 
objShell.Run("""C:\Windows\System32\wscript.exe"" ""C:\Test\MyScript.vbs""") 

wscript.sleep 5000 'waits 5 seconds before running the next script. This is used for display purposes, not because you have to 

'run with cscript 
objShell.Run("""C:\Windows\System32\cscript.exe"" ""C:\Test\My Script.vbs""") 

wscript.sleep 5000 'waits 5 seconds before running the next script. This is used for display purposes, not because you have to 

'run with the default program for vbs files (usually cscript) 
objShell.Run("""C:\Test\My Script.vbs""") 
+2

括弧を削除してください。ここでは無効ではありませんが、[ほとんどの人が期待することはしないでください](http://blogs.msdn.com/b/ericlippert/archive/2003/09/15/52996.aspx)。また、 'cscript.exe'に変更しない限り、デフォルトのインタプリタは' wscript.exe'です。 –

+1

@AnsgarWiechers本当ですか?それはSubではありません...なぜ結果だけをobjShell.Run( "" "C:\ Windows \ System32 \ cscript.exe" "" "C:\ Test \ My Script.vbs ")")とそれで終わらせてください*(最初にDim結果を覚えておいてください)*。 – Lankymart

+0

@Lankymartこれは別の(間違いなく良い)オプションになります。あなたが実際に返された終了コードをチェックすれば、それはです。 –

関連する問題