Powershell, как я могу выводить результаты в несколько файлов одновременно? - PullRequest
1 голос
/ 15 марта 2019

Есть ли способ, которым я могу out-file сделать несколько файлов за один снимок?

что-то вроде

{script block} | out-file $file1, $file2, $file3

Я хочу сохранить несколько копий одинаковых результатов.

Я тестировал несколько способов, ничего не получалось.

Ответы [ 2 ]

3 голосов
/ 15 марта 2019

Нет, Out-File не может сделать это


Однако Add-Content и Set-Content поддерживают это для своих -Path параметров

Пример, приведенный выше по ссылкам, для Set-Content имеет аналогичный пример для этого с использованием подстановочных знаков.

PS> Get-ChildItem -Path .\Test*.txt

Test1.txt
Test2.txt
Test3.txt

PS> Set-Content -Path .\Test*.txt -Value 'Hello, World'

PS> Get-Content -Path .\Test*.txt

Hello, World
Hello, World
Hello, World

Но -Path поддерживает массивы, поэтому вам просто нужно изменить используемый командлет, и он должен быть отключен от гонок.

{script block} | Set-Content -Path $file1, $file2, $file3
1 голос
/ 16 марта 2019

Это должен быть один выстрел?Tee-Object создан для пропускания конвейера прямо через него и с другой стороны, сохраняя его также в файл.Он имеет псевдоним по умолчанию tee, чтобы вы могли:

{script block} |tee $file1 |tee $file2 |tee $file3
...