2016-06-13 22 views
2

私はVBScriptとPowerShell初心者です。コマンドラインから呼び出すと正しく動作するPowerShellスクリプトがあります。しかし、VBScriptから呼び出すと、実行されますが、何もしません。VBScriptファイル内でPowerShellスクリプトを呼び出すときに、ネストされた引用符を使用するにはどうすればよいですか?

私が働くCLIで使用するコマンドは、この作品

powershell.exe -nop -exec bypass -noni -command "& { . C:\<censored path>\testscript1.ps1; Get-Test }" 

です。次のVBScriptコードを実行すると、結果は得られません。

Set objShell = CreateObject("Wscript.shell") 
objShell.run("powershell.exe -nop -exec bypass -noni -command &""& { . C:\<censored path>\testscript1.ps1; Get-Test }" &"") 

私は間違って何をしていますか?

PSは:私にコマンドをダウントリミング後: - オープニングブレースブラケットの無効な文字エラー

objShell.run("powershell.exe -nop -exec bypass -noni -command "& { . C:\<censored path>\testscript1.ps1; Get-Test }" ") 

私はコード800A0408を取得します。私は両方の括弧をエスケープしようとしましたが、私はまだ同じエラーが発生します。

答えて

2

あなたはそのような何かを試すことができます。

PSCommand = "powershell.exe -nop -exec bypass -noni -command" & DblQuote("& { . C:\<censored path>\testscript1.ps1; Get-Test }")&"" 
MsgBox PSCommand 
set objShell = CreateObject("wscript.shell") 
objShell.Run PSCommand 
'**************************************************************** 
Function DblQuote(Str) 
    DblQuote = Chr(34) & Str & Chr(34) 
End Function 
'**************************************************************** 
+0

はどうもありがとうございました! – user1801060

関連する問題