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

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

В практиката често се налага да обединим съдържанието на няколко текстови файла в един общ файл – например при логове, експортирани данни, части от конфигурации, кодови фрагменти или текстови документи.
В 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 – кое да използваме?

КритерийCMDPowerShell
ЛеснотаМного лесноЛеко по-сложно
ГъвкавостОграниченаМного висока
Контрол върху редаСлабОтличен
Работа с кодировкиПроблемнаПо-добра
Подходящо за автоматизацияОграниченоОтлично

Извод:
За бърза работа – 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 ще ти даде много по-голям контрол.

open source spirit
🛠️
$

Намерихте материала за полезен?

Съдържанието на itpraktika.com е безплатно и ще остане такова.
Ако статията ти е помогнала — можеш да подкрепиш сайта с малка доброволна сума. Всяко дарение помага за поддръжката и развитието на портала.

PayPal Revolut

Вашият коментар

Вашият имейл адрес няма да бъде публикуван. Задължителните полета са отбелязани с *


Колко е 8 - 1 ? (въведете числото)