HOWTO · Batch

배치 파일을 사용하여 텍스트 파일에 쓰기

이 자습서에서는 배치 스크립트를 사용하여 텍스트 파일을 작성하는 방법에 대해 설명합니다.

이 페이지의 내용

ECHO 명령과 >를 사용하면 텍스트 파일을 만들거나 내용을 덮어쓸 수 있고, >>를 사용하면 기존 내용을 유지하면서 텍스트를 덧붙일 수 있습니다. 두 연산자는 Windows 명령 프롬프트와 .bat 스크립트에서 모두 작동합니다. 아래 예제에서는 각 명령과 파일에 기록되는 텍스트를 보여 줍니다.

새 텍스트 파일 만들기

이 스크립트는 현재 작업 디렉터리에 있는 myfile.txt에 한 줄을 씁니다.

@echo off
echo This is my first line of text > myfile.txt

파일에는 This is my first line of text가 기록됩니다. 이 예제에 표시되는 문구는 영어 그대로입니다. myfile.txt가 이미 있으면 >가 기존 내용을 덮어씁니다. 다른 위치에 쓰려면 C:\Users\YourName\Documents\myfile.txt처럼 전체 대상 경로를 지정하세요. 대상 디렉터리는 미리 존재해야 합니다. @echo off를 사용하면 스크립트가 실행되는 동안 배치 명령이 화면에 표시되지 않습니다.

기존 텍스트 파일에 내용 추가하기

기존 내용을 유지하고 파일 끝에 한 줄을 추가하려면 >>를 사용하세요. 다음 예제는 먼저 시작 파일을 만들어 내용을 정해 둔 다음 두 번째 줄을 덧붙입니다.

@echo off
echo First line> myfile.txt
echo Added line>> myfile.txt

스크립트가 실행되면 파일에는 First line이 있고, 다음 줄에 Added line이 기록됩니다. 이 예제의 표시 문구는 영어 그대로입니다. 스크립트를 다시 실행할 때마다 Added line이 하나 더 추가되며 이전 텍스트를 덮어쓰지 않습니다. 예제를 준비하는 첫 번째 명령은 >를 사용하므로, 이미 데이터가 있는 파일에 맞게 스크립트를 바꿀 때는 그 명령을 제거하세요.

텍스트 파일에 여러 줄 쓰기

여러 ECHO 명령을 괄호로 묶고, 묶음 전체에 한 번만 리디렉션을 적용하세요.

@echo off
(
echo First line
echo Second line
echo Third line
) > myfile.txt

각 명령은 별도의 줄을 만듭니다. 묶음 전체가 >로 리디렉션되므로 실행하면 대상 파일의 기존 내용을 덮어쓰고 이 세 줄을 기록합니다. 기존 내용 뒤에 이 줄들을 추가하려면 >를 >>로 바꾸세요.

텍스트 파일에 변수 사용하기

SET으로 값을 지정한 다음, 줄을 쓸 때 변수 이름 양쪽에 퍼센트 기호를 붙여 값을 확장합니다.

@echo off
set "myVariable=Hello from Batch"
echo %myVariable%> myfile.txt

파일에는 Hello from Batch가 기록됩니다. 이 예제의 표시 문구는 영어 그대로입니다. 따옴표를 붙인 SET 형식은 실수로 값 끝에 공백이 들어가는 것을 방지하며, 따옴표 자체는 값에 포함되지 않습니다. 변수 값을 기존 파일에 덧붙이려면 >>를 사용하세요.

명령 출력을 텍스트 파일에 저장하기

DIR 같은 명령의 목록을 파일에 저장하려면 출력을 리디렉션하세요.

@echo off
dir > directory_list.txt

이 명령은 현재 디렉터리의 목록을 directory_list.txt에 만들거나 기존 내용을 덮어씁니다. 목록은 컴퓨터와 작업 디렉터리에 따라 달라지므로 파일 내용도 달라집니다. 기존 텍스트 뒤에 새 목록을 추가하려면 dir >> directory_list.txt를 사용하세요.

기존 텍스트 파일 갱신하기

작업에서 말하는 ‘갱신’이 무엇인지에 따라 연산자를 선택하세요. >>는 새 텍스트를 추가하면서 기존 줄을 보존하고, >는 해당 명령이 출력한 텍스트로 파일 내용을 덮어씁니다. 예를 들어 echo Status: complete >> myfile.txt는 상태를 나타내는 줄을 추가합니다. 나머지 내용을 유지하면서 특정 줄만 바꿔야 한다면, 먼저 그런 작업을 위해 설계된 파일 편집 도구를 사용하세요. 파일을 읽고 다시 쓰는 FOR /F 루프는 모든 상황에 안전하게 쓸 수 있는 일반적인 대체 방법이 아닙니다. 빈 줄이나 Batch 특수 문자가 포함된 텍스트를 변경할 수 있습니다.

자주 묻는 질문

  1. 텍스트 파일은 어떻게 만드나요? ECHO와 >를 사용하세요. 파일이 없으면 새로 만들고, 이미 있으면 기존 내용을 덮어씁니다.
  2. 기존 텍스트를 덮어쓰지 않고 어떻게 추가하나요? >>를 사용하세요.
  3. 여러 줄을 쓰려면 어떻게 하나요? 여러 ECHO 명령을 괄호로 묶고 묶음 전체를 리디렉션하세요.
  4. 줄에 변수를 넣을 수 있나요? 네. SET으로 변수를 지정하고 ECHO 명령에서 %variableName% 형식으로 확장하세요.
  5. 명령 출력을 어떻게 저장하나요? 명령 뒤에 > 또는 >>를 붙여 대상 파일을 덮어쓰거나 내용을 추가하세요.