我想知道是否可以通过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
我尝试了不同的方法来传递参数ex。将它放在单引号中,通过输入3个双引号,但它仍无效。
这是一个代码示例:
sCmd = "powershell.exe -ExecutionPolicy ByPass -noexit -File \\server\Support\abhishek\Automation\SearchUtility.ps1 -Inputs " &"'" & PathValue & "'"
我被困了好几天,我还没有办法完成这件事。我需要一些帮助。 (我是Powershell的新手)
提前致谢。
答案 0 :(得分:1)
试试这个。您不需要像这样的步骤构建它。我这样做是为了让它更具可读性。最后一行是关键部分。
sCmd = "powershell.exe -ExecutionPolicy ByPass -noexit "
sCmd = sCmd & "-File \\server\Support\abhishek\Automation\SearchUtility.ps1 "
sCmd = sCmd & "-Inputs " & Chr(34) & PathValue & Chr(34)