텍스트 파일 합치기 — copy 명령·PowerShell·브라우저 도구로 하는 법

버전 미확인 · 확인일 2026-09-05 무료

여러 텍스트 파일을 하나로 이어 붙이는 절차. copy /b·PowerShell Get-Content, 그리고 이 사이트의 브라우저 도구.

기본 정보
개발사
라이선스무료 — 윈도우 기본 명령(copy /b·PowerShell)
가격무료
현재 버전미확인
확인일
지원 OS윈도우 10·11
공식 바로가기learn.microsoft.com

먼저 정할 것 두 가지

텍스트 파일 합치기는 명령 한 줄로 끝나는 작업이지만, 시작 전에 두 가지를 정해 두면 다시 하는 일이 없습니다.

  1. 순서 — 파일이 붙는 순서가 중요한가? 로그처럼 시간순이 의미 있는 자료라면 순서를 직접 지정해야 합니다.
  2. 인코딩 — 한글이 들어 있는가? 원본 파일들의 인코딩이 서로 다르면 합친 뒤 글자가 깨집니다. 이 경우 PowerShell 방식을 씁니다.2,3

둘 다 상관없는 단순한 영문 로그라면 아래 첫 번째 방법이 가장 빠릅니다.

방법 1 — 명령 프롬프트 copy 명령

윈도우에 기본으로 들어 있는 명령입니다. 설치할 것이 없습니다.

  1. 합칠 파일들이 있는 폴더를 탐색기에서 엽니다.
  2. 주소 표시줄에 cmd를 입력하고 엔터를 눌러 그 폴더에서 명령 프롬프트를 엽니다.
  3. 다음 명령을 입력합니다. 마이크로소프트 공식 문서에 나오는 예시 형태입니다.1
copy *.txt Combined.txt

공식 문서 설명에 따르면 원본에 파일을 여러 개 지정하면 copy 명령이 대상에 지정된 파일 이름으로 모든 파일을 하나로 결합합니다. 그리고 파일을 결합할 때는 결합된 파일을 ASCII 파일로 가정합니다.1

순서를 직접 정하려면 +로 이어 적습니다.1

copy a.txt + b.txt + c.txt Combined.txt

공식 문서의 예시도 같은 형태입니다(copy mar89.rpt + apr89.rpt + may89.rpt Report). 문서는 파일을 결합하면 대상 파일이 현재 날짜·시간으로 표시되며, 대상을 생략하면 목록의 첫 번째 파일 이름으로 저장된다고 함께 밝히고 있습니다.1

방법 2 — PowerShell(한글이 들어 있을 때)

인코딩을 지정해야 하거나 결과를 더 정확히 다루고 싶을 때 씁니다.

  1. 폴더에서 PowerShell을 엽니다.
  2. 다음처럼 읽어서 한 파일로 씁니다.
Get-Content .\a.txt, .\b.txt, .\c.txt | Set-Content .\Combined.txt

Get-Content는 공식 문서 설명대로 파일 내용을 한 번에 한 줄씩 읽어 각 줄을 나타내는 개체 컬렉션으로 반환합니다. 인코딩을 지정하려면 양쪽에 -Encoding을 붙입니다.2,3

Get-Content .\a.txt, .\b.txt -Encoding utf8 | Set-Content .\Combined.txt -Encoding utf8

공식 문서 기준 Set-Content-Encoding 기본값은 utf8NoBOM이며, 허용되는 값에는 ascii, unicode, utf8, utf8BOM, utf8NoBOM, utf32 등이 있습니다. 프로그램에 따라 BOM 유무가 문제가 되므로 결과를 넣을 곳에 맞춰 고릅니다.3

줄 단위가 아니라 파일 전체를 하나의 문자열로 읽어야 한다면 -Raw를 씁니다. 공식 문서 설명에 따르면 -Raw 없이는 내용이 줄 바꿈으로 구분된 문자열 배열로 반환됩니다.2

Get-Content .\a.txt -Raw

방법 3 — 브라우저 도구

명령창이 부담스럽거나 회사 PC처럼 제약이 있는 환경이라면 이 사이트의 브라우저 도구를 씁니다. 주소는 /tools/text-merge/입니다.

  1. 도구 페이지를 엽니다.
  2. 합칠 텍스트 파일들을 고릅니다.
  3. 목록에서 순서를 정합니다. 화면에서 순서를 눈으로 확인하며 조정할 수 있다는 점이 명령 방식과 다릅니다.
  4. 결과를 확인하고 내려받습니다.

실전 1 — 파일 사이에 구분선 넣기

여러 로그를 합치면 어디서 파일이 바뀌었는지 알 수 없게 됩니다. PowerShell로 파일마다 이름을 머리글로 넣으며 합치는 방법이 있습니다.

Get-ChildItem *.txt | ForEach-Object {
    "===== $($_.Name) ====="
    Get-Content $_.FullName
} | Set-Content Combined.txt -Encoding utf8

결과 파일을 열면 각 원본이 어디서 시작하는지 바로 보입니다. 나중에 문제를 추적할 때 이 한 줄이 큰 차이를 만듭니다.2,3

실전 2 — 순서를 이름 기준으로 정렬해 합치기

파일명이 log1.txt, log2.txtlog10.txt처럼 번호로 끝나면 이름순 정렬이 1, 10, 2 순으로 어긋납니다. 순서가 중요한 자료라면 파일명을 직접 나열하는 방식이 가장 확실합니다.1

copy log1.txt + log2.txt + log3.txt Combined.txt

파일이 많다면 이름을 log01, log02처럼 자릿수를 맞춰 바꿔 둔 뒤 와일드카드를 쓰는 방법도 있습니다.

실전 3 — 합치기 전에 확인할 것

확인 항목
결과 파일명이 원본과 겹치지 않는가 같은 폴더에서 *.txt로 합치면 결과 파일이 대상 목록에 다시 들어갈 수 있음
원본 인코딩이 같은가 다르면 합친 뒤 한글이 깨짐. PowerShell에서 인코딩 지정2,3
마지막 줄에 줄바꿈이 있는가 없으면 다음 파일의 첫 줄과 붙어 버림
텍스트 파일이 맞는가 공식 문서는 이진 파일 결합 시 /b가 필요하며 결과가 사용 불가능할 수 있다고 주의를 표시1
원본 백업이 있는가 결과 파일명을 잘못 지정해 원본을 덮어쓰는 사고 방지

자주 막히는 것

  • 한글이 깨진다 — 원본 인코딩이 서로 다른 경우입니다. PowerShell에서 -Encoding으로 읽기·쓰기 인코딩을 맞춰 지정합니다. 기본값은 utf8NoBOM입니다.2,3
  • 파일 순서가 예상과 다르다 — 와일드카드는 순서를 보장하지 않습니다. +로 파일을 이어 적어 순서를 명시합니다.1
  • 결과 파일이 계속 커진다 — 결과 파일이 원본과 같은 폴더에 같은 확장자로 있으면 다음 실행 때 자신을 다시 포함할 수 있습니다. 결과는 다른 폴더나 다른 확장자로 저장합니다.
  • 줄이 붙어 버린다 — 원본 마지막 줄에 줄바꿈이 없으면 다음 파일 첫 줄과 이어집니다. 위의 구분선 넣기 방식으로 처리하면 함께 해결됩니다.
  • 덮어쓸지 묻는 메시지가 성가시다 — 공식 문서에 /y/-y 옵션으로 확인 메시지 표시 여부를 제어할 수 있다고 안내되어 있습니다.1

비슷한 방법

기능이 겹치는 것만 적었습니다. 순위는 매기지 않습니다.

방법 겹치는 기능 다른 점
텍스트 편집기에서 직접 붙여넣기 파일 합치기 파일이 몇 개일 때만 현실적. 수십 개는 무리
Notepad++ 등 편집기의 여러 파일 열기 여러 텍스트 파일 다루기 보기·편집이 목적이고 자동 결합은 아님
브라우저 도구(/tools/text-merge/) 파일 합치기 설치·명령 없이 화면에서 순서 확인 가능

어떤 방법을 고를지 정리한 내용은 텍스트 파일 합치기 안내 페이지에도 요약되어 있습니다.

비슷한 도구 (기능 태그가 겹치는 순서 없는 목록)
도구겹치는 기능라이선스
7-Zip명령줄오픈소스(LGPL-2.1)
FFmpeg명령줄, 병합오픈소스(LGPL-2.1/GPL-2.0)
WinMerge병합오픈소스(GPL-2.0)

기능: 텍스트 처리 명령줄 병합 브라우저 도구