Элементы Foreach-Object для массива, а не для подмассива - PullRequest
0 голосов
/ 18 мая 2019

Итак, у меня есть сценарий, который я разрабатывал, я перешел с объектов pscustom, на хеш-таблицы, на массивы splatted и на простые массивы csv, я возился со стандартными циклами, делаю до, смешивая стандартные циклы с foreach-object, и, честно говоря, есть простой способ решить эту проблему, но я бы действительно предпочел, чтобы это не было решением, которое я использую, смеется.

Итак, что происходит, эта переменная будет СМОТРЕТЬ, как будто она выводится в правильном формате, если я инкапсулирую цикл% в круглых скобках ... но чтобы выбрать первую или вторую строку с выводом, я должен использовать 2 комплекта скобок вместо одного. так, например, $ vm [0] [0], $ vm [0] [1]

не совсем уверен, что этот метод будет работать, но я пробовал некоторые сумасшедшие вещи.

$vm = ( $d[1] , $l[1] | % { $_ + '\VM\VMWare' } ) , '\setup.exe' , '\setup64.exe' , '/s /v "/qn reboot=r"'

1 Ответ

0 голосов
/ 18 мая 2019

Чтобы массив не был неровным, заключите все в @(). И используйте точку с запятой в качестве разделителя.

$vm = @($d[1],$l[1] | % { $_ + '\VM\VMWare' }; '\setup.exe', '\setup64.exe', '/s /v "/qn reboot=r"')

или

$vm = @(
    $d[1],$l[1] | % { $_ + '\VM\VMWare' }
    '\setup.exe', '\setup64.exe', '/s /v "/qn reboot=r"'
)

Другой способ - добавить один массив в другой.

$vm = @($d[1],$l[1] | % { $_ + '\VM\VMWare' }) + '\setup.exe', '\setup64.exe', '/s /v "/qn reboot=r"'
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...