Как да обединим няколко текстови файла в един с PowerShell и Command Prompt

В практиката често се налага да обединим съдържанието на няколко текстови файла в един общ файл – например при логове, експортирани данни, части от конфигурации, кодови фрагменти или текстови документи.
В Windows това може да се направи лесно с помощта на Command Prompt (CMD) или PowerShell, без нужда от допълнителен софтуер.
В тази статия ще разгледаме всички основни методи, с реални примери и полезни съвети.
Кога е полезно обединяването на файлове?
Ето няколко реални ситуации:
- Имаш десетки
.txtлог файлове и искаш да ги анализираш като един - Разделил си голям текст на части и искаш да го възстановиш
- Генерираш автоматично файлове от скрипт и искаш да ги събереш в един
- Експорт от база данни е разбит на няколко файла
- Обединяване на конфигурации или кодови фрагменти
Обединяване на файлове чрез Command Prompt (CMD)
Най-простият и бърз начин в Windows е чрез вградената команда copy.
Пример: обединяване на два файла
Отвори Command Prompt в папката с файловете и изпълни:
copy file1.txt + file2.txt combined.txt
Резултатът ще бъде нов файл:
combined.txt, съдържащ първо съдържанието наfile1.txt, после наfile2.txt.
Обединяване на повече от два файла
Можеш да добавиш колкото искаш файлове:
copy file1.txt + file2.txt + file3.txt + file4.txt combined.txt
Обединяване на всички .txt файлове в папка
Това е най-практичният вариант при много файлове:
copy *.txt combined.txt
Тук:
*.txtозначава всички текстови файлове в текущата директорияcombined.txtе новият общ файл
Важно уточнение за CMD метода
Командата copy:
- Работи отлично за обикновени текстови файлове
- Не е подходяща за бинарни файлове
- Може да създаде проблеми при различни кодировки (UTF-8, ANSI, UTF-16)
Обединяване на файлове чрез PowerShell
PowerShell предлага по-гъвкав и по-модерен подход.
Основен пример
Get-Content file1.txt, file2.txt | Set-Content combined.txt
Това:
- Чете съдържанието на двата файла
- Записва го в нов файл
combined.txt
Обединяване на всички .txt файлове в папката
Най-често използваният вариант:
Get-Content *.txt | Set-Content combined.txt
Добавяне към вече съществуващ файл (append)
Ако искаш да добавиш съдържанието към съществуващ файл, вместо да го презаписваш:
Get-Content *.txt | Add-Content combined.txt
Запазване на реда на файловете
По подразбиране PowerShell обработва файловете по азбучен ред.
Ако искаш да имаш пълен контрол:
Get-Content file1.txt, file2.txt, file3.txt | Set-Content combined.txt
Или сортиране по име:
Get-ChildItem *.txt | Sort-Object Name | Get-Content | Set-Content combined.txt
Добавяне на разделител между файловете
Това е особено полезно при логове или големи текстове.
Пример:
Get-ChildItem *.txt | ForEach-Object {
"===== $($_.Name) ====="
Get-Content $_
} | Set-Content combined.txt
Резултатът ще изглежда така:
===== log1.txt =====
(съдържание)
===== log2.txt =====
(съдържание)
CMD vs PowerShell – кое да използваме?
| Критерий | CMD | PowerShell |
|---|---|---|
| Леснота | Много лесно | Леко по-сложно |
| Гъвкавост | Ограничена | Много висока |
| Контрол върху реда | Слаб | Отличен |
| Работа с кодировки | Проблемна | По-добра |
| Подходящо за автоматизация | Ограничено | Отлично |
Извод:
За бърза работа – CMD върши работа.
За сериозна автоматизация – PowerShell е по-добрият избор.
Бонус: чести проблеми и решения
❌ Проблем с кирилица
Ако след обединяване кирилицата изглежда счупена, причината обикновено е различна кодировка между файловете.
PowerShell работи най-добре с UTF-8 файлове.
Можеш изрично да зададеш кодировка:
Get-Content *.txt | Set-Content combined.txt -Encoding UTF8
❌ Огромни файлове
При много големи файлове PowerShell може да използва много RAM. В такъв случай CMD методът с copy е по-ефективен.
Заключение
Обединяването на текстови файлове в Windows е бързо и лесно, когато познаваш правилните инструменти:
- CMD (
copy) – бързо и просто - PowerShell (
Get-Content) – мощно, гъвкаво и професионално
Ако работиш често с логове, автоматизация или обработка на данни, PowerShell ще ти даде много по-голям контрол.
Намерихте материала за полезен?
Съдържанието на itpraktika.com е безплатно и ще остане такова.
Ако статията ти е помогнала — можеш да подкрепиш сайта с малка доброволна сума.
Всяко дарение помага за поддръжката и развитието на портала.
