2013-10-08 4 views
0

Я думал, что это будет просто сделать, но я застрял.передать массив сценарию powershell как отдельные аргументы

Script1.ps1 содержит:

$params = "abc", "def" 
Script2 $params 

Script2.ps1 содержит:

Это, конечно, выход "1" для единственного аргумента массива, который получает Скрипт2. Я хочу найти способ передать $ params не как один массив, а как два отдельных аргумента - так что Script2 выводит «2» для count и args [0] «abc», а args [1] - «def ».

Я пробовал всевозможные способы сделать это, но я никогда не получаю то, что хочу.

ответ

4

нравится это?

$params = "abc", "def" 
Script2 @params 
+1

Этот метод называется «splatting». –

+0

Спасибо. Одна вещь, которая меня сбивала с толку, была чем-то, что я только что заметил о $ args. Если включить выражение, $ args.Count, в скрипте будет напечатано правильное значение. Но если я ставлю точку останова на это выражение и наберу $ args.Count в окне команд, он всегда будет отображать «0». –

Смежные вопросы