2015-07-06 35 views
0

我想知道是否可以通過VBscript將參數傳遞給PowerShell。如何通過ADS(帶有動態字符串的參數)可以從VBscript到Powershell的空格

以下是我的代碼和我對此主題的調查。

的VBScript:

Dim pathvalue (pathvalue will dynamic path, which may have spaces in it. lets say path is "\\Server\search\File in some folder\Stack Overflow\") 
sCmd = "powershell.exe -ExecutionPolicy ByPass -noexit -File \\server\Support\abhishek\Automation\SearchUtility.ps1 -Inputs " & PathValue 
Set oShell = CreateObject("Wscript.Shell") 
iResult = oShell.Run(sCmd, 1, true) 

PS1。

Param([String] $Inputs) 
$FolderPath = $Inputs; 
echo "$FolderPath"; 

預期結果:

\\Server\search\File in some folder\Stack Overflow\

實際結果:

\\Server\search\File

我嘗試了不同的方法來傳遞參數前。通過把它放在單引號中,通過放3個雙引號但仍然不起作用。

這裏是一個代碼示例:

sCmd = "powershell.exe -ExecutionPolicy ByPass -noexit -File \\server\Support\abhishek\Automation\SearchUtility.ps1 -Inputs " &"'" & PathValue & "'"

我被困了幾天,我還沒有找到一種方法來完成這件事。我需要一些幫助。 (我是Powershell的新手)

在此先感謝。

回答

1

試試這個。你不需要像這樣逐步構建它。我只是這樣做,使其更具可讀性。最後一行是關鍵部分。

sCmd = "powershell.exe -ExecutionPolicy ByPass -noexit " 
sCmd = sCmd & "-File \\server\Support\abhishek\Automation\SearchUtility.ps1 " 
sCmd = sCmd & "-Inputs " & Chr(34) & PathValue & Chr(34) 
+0

它的工作!!! ...非常感謝邦德...... :) – abhi08

相關問題