3

В PowerShell foreach и % являются псевдонимами по умолчанию для ForEach-Object . Однако, похоже, что команда ведет себя по-разному в зависимости от того, как она вызывается.

В частности, мне трудно заставить команду работать без подачи ввода из конвейера, если только я не использую псевдоним foreach .

Я что-то здесь не так делаю, или это по какой-то причине?

1 ответ1

6

Оператор foreach и командлет Foreach-Object НЕ одно и то же.

Для одного:

В случае Foreach-Object тело оператора выполняется, как только создается каждый объект. В операторе foreach все объекты собираются до того, как тело цикла начинает выполняться. Это имеет два значения

Существуют также различия в производительности и синтаксисе.

$i = @(1..3) | ForEach-Object {Write-Host $_}

Работает ли в Foreach-Object.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .