與C語言和其他語言一樣,當您物理執行腳本時,可以爲腳本/ .exe參數提供參考。例如:啓動Powershell腳本時的參數
myScript.exe Hello 10 P
。由此你好,10和P被傳遞到在節目本身的一些變量。
這是可能的Powershell?如果是這樣,你如何給這些參數給定$變量
謝謝!
與C語言和其他語言一樣,當您物理執行腳本時,可以爲腳本/ .exe參數提供參考。例如:啓動Powershell腳本時的參數
myScript.exe Hello 10 P
。由此你好,10和P被傳遞到在節目本身的一些變量。
這是可能的Powershell?如果是這樣,你如何給這些參數給定$變量
謝謝!
用PARAM塊定義腳本像這樣:
-- Start of script foo.ps1 --
param($msg, $num, $char)
"You passed in $msg, $num and $char"
您還可以輸入資格參數,以及如:
-- Start of script foo2.ps1 --
param([string]$msg, [int]$num, [char]$char)
"You passed in $msg, $num and $char"
還可以指定默認值和所需的值,例如:
-- Start of script foo3.ps1 --
param([string]$msg=$(throw "Msg param is required"), [int]$num, [char]$char="P")
"You passed in $msg, $num and $char"
你可以更高級的功能(指定attribu驗證參數等)。但這應該讓你走。
只是一個補充@Keith山答案...
至於你說到「C」,你也可以寫一個腳本,以使用automatic variable$args
參數。
$Args
包含傳遞給函數,腳本或腳本塊的未聲明參數和/或參數值的數組。
-- Start of script foo3.ps1 --
if ($args.length -gt 0)
{
write-host "first param is $($args[0])"
}
for ($i=0 ; $i -lt $args.length ; $i++)
{
write-host "$i) " $args[$i]
}
你可以調用腳本THR
.\foo3.ps1 coucou bonjour "hello world"
first param is coucou
0) coucou
1) bonjour
2) hello world