Объединение файлов с помощью PowerShell

Я использую PowerShell 3.

Какова наилучшая практика для конкатенации файлов?

file1.txt + file2.txt = file3.txt

Предоставляет ли PowerShell возможность для выполнения этой операции напрямую? Или мне нужно, чтобы содержимое каждого файла загружалось в локальные переменные?

Ответы

Ответ 1

Если все файлы существуют в одном каталоге и могут быть сопоставлены простым шаблоном, следующий код объединяет все файлы в один.

Get-Content .\File?.txt | Out-File .\Combined.txt

Ответ 2

Я бы пошел по этому маршруту:

Get-Content file1.txt, file2.txt | Set-Content file3.txt

Используйте параметр -Encoding в Set-Content, если вам нужно что-то другое, кроме ASCII, которое является значением по умолчанию для Set-Content.

Ответ 3

обобщение на основе ответа @Keith:

gc <some regex expression> | sc output

Ответ 4

Если вам нужно больше гибкости, вы можете использовать что-то вроде

Get-ChildItem -Recurse *.cs | ForEach-Object { Get-Content $_ } | Out-File -Path .\all.txt