cmd.exe powershell HashTable - PullRequest
       3

cmd.exe powershell HashTable

7 голосов
/ 18 февраля 2011

Есть ли в PowerShell способ передать HashTable в качестве аргумента при вызове с помощью cmd.exe?

Я хочу вызвать такой скрипт:

powershell "& 'C:\path\to\file.ps1 arg1 arg2 arg3 arg4'"

Где arg4 является HashTable. Это возможно?

Ответы [ 2 ]

12 голосов
/ 18 февраля 2011

Имеется скрипт (foo.ps1), подобный этому:

param($a1, $a2, $a3, [hashtable]$a4)

"a1 is $a1"
"a2 is $a2"
"a3 is $a3"
"a4 is "
$a4

Вы можете вызвать его из cmd.exe, указав хеш-таблицу в качестве четвертого параметра:

C:\> powershell -command "& {c:\foo.ps1 1 2 three @{name='John';age=45}}"
a1 is 1
a2 is 2
a3 is three
a4 is

Name                           Value
----                           -----
name                           John
age                            45
0 голосов
/ 18 февраля 2011

Единственное, что приходит на ум, - это сохранить хеш-таблицу как xml и передать ей имя файла.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...