Унифицировать наборы файлов - PullRequest
0 голосов
/ 22 мая 2018

Я обрабатываю кучу файлов с помощью цикла ForEach-Object в скрипте powershell.

Get-ChildItem -Path "<path>" -Recurse | ForEach-Object { 
    # Do something complicated   
}

К сожалению, у меня есть несколько путей, по которым могут быть файлы, поэтому мне придетсянапишите это так:

Get-ChildItem -Path "<path>" -Recurse | ForEach-Object { 
    # Do something complicated   
}
Get-ChildItem -Path "<path2>" -Recurse | ForEach-Object { 
    # CAUTION, this block exists 2x in this file!
    # Do the same complicated stuff with the other files
}

Есть ли способ, которым я мог бы "агрегировать" файлы в переменную и обрабатывать их всего за один цикл?

1 Ответ

0 голосов
/ 22 мая 2018

Параметр -Path командлета Get-ChildItem поддерживает массив.Вы можете сделать это:

Get-ChildItem -Path <dir1>,<dir2> | ForEach-Object {
  ...
}

Или альтернативно:

<dir1>,<dir2>[,...] | Get-ChildItem | ForEach-Object {
  ...
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...