我想將參數數組傳遞給PowerShell腳本文件。如何將參數數組傳遞給Powershell命令行
我試圖在命令行中像這樣傳遞命令行。
Powershell的-file 「InvokeBuildscript.ps1」 「Z:\」 「的Component1」, 「COMPONENT2」
但它並不需要它似乎是參數。我錯過了什麼?如何傳遞參數數組?
我想將參數數組傳遞給PowerShell腳本文件。如何將參數數組傳遞給Powershell命令行
我試圖在命令行中像這樣傳遞命令行。
Powershell的-file 「InvokeBuildscript.ps1」 「Z:\」 「的Component1」, 「COMPONENT2」
但它並不需要它似乎是參數。我錯過了什麼?如何傳遞參數數組?
嘗試
Powershell -command "c:\pathtoscript\InvokeBuildscript.ps1" "z:\" "Component1,component2"
如果test.ps1
是:
$args[0].GetType()
$args[1].gettype()
調用它從一個DOS外殼,如:
C:\>powershell -noprofile -command "c:\script\test.ps1" "z:" "a,b"
回報:
IsPublic IsSerial Name BaseType
-------- -------- ---- --------
True True String System.Object
True True Object[] System.Array
簡短的回答:更多雙引號可以幫助...
假設腳本是 「test.ps1」
param(
[Parameter(Mandatory=$False)]
[string[]] [email protected]()
)
$PSBoundParameters
假設想傳遞數組@(123, 「ABC」,」 X,Y,Z「)
在Powershell的控制檯中,對傳遞多個值作爲數組
.\test.ps1 -input_values 123,abc,"x,y,z"
在Windows命令提示控制檯或用於Windows的Ta sk調度程序;雙引號是由3雙引號
powershell.exe -Command .\test.ps1 -input_values 123,abc,"""x,y,z"""
代替希望它可以幫助一些
這裏的技巧是使用顯式'的-command'代替'-file'。 –