Я хочу иметь возможность предоставить команду, которая принимает сопоставления ключ-значение в качестве параметров, таким образом:
mycmd -Pair key1 value1 -Pair key2 value2
# or
mycmd -Pair key1,value1 -Pair key2,value2
В настоящее время я беру «ключ: значение», проверяю на «:» и делю на":", но это прерывается, когда ключ или значение являются URL-адресами или путями.
Я пытался [System.Tuple [String, String] []], но для этого требуется, чтобы пользовательские shenanigans вызывали.
Function MyCmd {
Param([System.Tuple[String, String][]] $Tup)
$left = $Tup[0][0]
$right = $Tup[0][1]
Write-Host "$left : $right"
}
Но это не принимает простые значения и преобразует их в кортежи: (
И я не смог найти способ сделать это с многомерными строками, чтобы определить, могу ли я установить иограничить количество элементов (String[][2])
.
Есть ли способ сделать это?