배치 파일의 문법 자체에는 파일 저장 함수 같은 것이 없지만, 재지향(Redirection)을 사용하면, 배치 파일로도 파일을 만들고 저장할 수 있습니다.


* 우선 echo 명령으로 화면에 어떤 문자열을 출력한 후,

* 그 문자열을 재지향하여 파일로 저장하면, 하드의 현재 디렉토리에 파일이 만들어집니다.


.BAT으로 파일 만들기 예제


배치로, Foo.java 라는 자바 소스 파일을 자동으로 만드는 예제입니다.
파일명: 0.bat
@echo off

echo /*    ^< ㅎㅎ ^>    */> Foo.java
echo.>> Foo.java
echo public class Foo {>> Foo.java
echo   public static void main(String[] args) {>> Foo.java
echo     System.out.println("테스트");>> Foo.java
echo   }>> Foo.java
echo }>> Foo.java
echo.>> Foo.java

위의 배치 파일을 실행하면, 하드에 다음과 같은 내용의 텍스트 파일이 저절로 생성됩니다.

만들어진 파일의 이름: Foo.java
/*    < ㅎㅎ >    */

public class Foo {
  public static void main(String[] args) {
    System.out.println("테스트");
  }
}



코드 설명


echo 문자열> Foo.java
Foo.java 라는 파일을 만들어서, 문자열 출력을 저장하라는 뜻. (Foo.java 라는 파일이 이미 있다면 덮어쓰게 됨)


echo 문자열>> Foo.java
Foo.java 라는 파일에 "계속 이어서" 문자열 저장. >> 기호는, 이미 존재하는 파일에 이어서 쓰는 것입니다. > 기호가 1개라면 덮어쓰게 됩니다.


echo.>> Foo.java
Foo.java 파일에 빈 줄을 한 줄 만들기



주의점


그런데 재지향으로 저장할 수 없는 특수 기호들이 있습니다.

<
>
^

이런 기호들은 재지향이 되지 않고, >은(는) 예상되지 않았습니다. 또는 지정된 파일을 찾을 수 없습니다. 같은 에러가 나게 됩니다. 운영체제에서 특수한 의미로 사용되기 때문입니다. 이런 기호를 파일로 저장하려면 그 기호 바로 앞에 캐럿(^) 기호를 붙여야 합니다. 캐럿 자체를 출력하려면 캐럿을 2개 연속으로 쓰면 됩니다.






그런데 위의 예제가 너무 복잡해서, 간단한 예제를 하나 만들었습니다.

@echo off

echo 안녕하세요> out.txt
echo 반갑습니다>> out.txt
echo 안녕히 가세요>> out.txt

위의 배치 코드를 실행하면, 하드에 out.txt 라는 파일이 만들어지고 다음과 같은 내용이 들어 있습니다:

안녕하세요
반갑습니다
안녕히 가세요
번호 제목 sitelink1 글쓴이 날짜 조회 수
243 Windows 11 Pro 환경의 WSL2(Windows Subsystem for Linux 2)에서 X11(그래픽 앱)을 실행   황제낙엽 2026.01.06 2647
242 경로 관련 별칭(alias)   황제낙엽 2025.12.19 2541
241 macOS 에서 finder 로 숨김 디렉토리, 파일을 조회   황제낙엽 2025.09.26 1646
240 특정 폴더 제외하고 가장 최근에 생성된 폴더 이름 가져오는 shell file 만들기   황제낙엽 2025.07.28 2568
239 [Copilot] WSL2 Ubuntu 실행 방식과 차이점   황제낙엽 2025.06.09 2555
238 [Gemini] docker pull 로 다운받은 ubuntu 이미지를 portainer 로 실행하여 접속   황제낙엽 2025.06.02 2561
237 Windows 11 Pro -> WSL2 (Ubuntu) -> Docker -> Portainer   황제낙엽 2025.05.30 2704
236 윈도우 11 설치 USB 만들기 가이드 https://blog.naver.com/cjs0308cjs/223694056158  황제낙엽 2025.01.10 3980
235 [bard] docker로 실행한 container에 터미널로 접속   황제낙엽 2024.02.01 3657
234 [2023. 11. 6.] 데이터베이스, GUI 클라이언트 환경의 Docker Compose 모음 https://blog.pages.kr/2819  황제낙엽 2024.01.29 3810
233 Docker Compose 문법 정리 (YAML)   황제낙엽 2024.01.29 3366
232 Docker Compose 명령어(실행,중지,삭제) https://docs.docker.com/compose/reference/  황제낙엽 2024.01.28 3841
231 Docker Compose 에 대한 이해와 사용법에 대한 포스팅 모음 https://docs.docker.com/compose/gettingstarted/  황제낙엽 2024.01.26 4074
230 Kubernetes 와 Docker 의 관계   황제낙엽 2024.01.26 3016
229 docker 를 windows 에서 실행하는 방법 3가지 정리   황제낙엽 2024.01.23 3736
228 windows + docker 설치에 대한 포스팅 모음   황제낙엽 2024.01.22 3528
227 윈도우 10 실행키 입력 명령어 목록 (Windows + R) https://haenny.tistory.com/217  황제낙엽 2023.07.12 7536
226 윈도우 10 "원격 데스크톱"의 "컴퓨터 목록" 정보 저장 위치 (from Bing)   황제낙엽 2023.07.11 3997
225 compress this drive to save disk space (이 드라이브를 압축하여 디스크 공간 절약)   황제낙엽 2023.05.09 4209
224 명령어 모음   황제낙엽 2023.05.06 3649