0
假設您有一個PowerShell腳本,它接受可變數量的參數。你想把任何不是選項的東西當作文件名。在bash中,這是很容易:如何獲取PowerShell中的其餘參數?
files=() # Empty array of files
while [ $# -gt 0 ]
do
case "$1" in
-option1) do_option1=true ;;
-option2) option2_flag="$2" shift ;;
*) # Doesn't match anything else
files+=("$1") ;;
esac
shift
done
什麼會使用PowerShell的Param()
是等效代碼?這對於消除大部分樣板解析代碼是很有用的,但是如何使用它來解析文件?例如,這個工程:
Param(
[switch]$Option1,
[string]$Option2,
[string[]]$Files
);
,但你必須調用腳本就像script.ps1 the,file,names
得到它正確分析。如果你打電話script.ps1 the file names
它不會被識別。
我也試過$PSBoundParameters
,但那也不管用。
爲什麼會發生這種情況,我該如何解決這個問題?謝謝!
'[參數(ValueFromRemainingArguments)]' – PetSerAl