Windows 배치 파일에서 긴 명령어를 여러 줄로 분할하는 방법

2024-07-27

방법 1: ^ 연산자 사용

^ 연산자를 사용하여 한 줄의 끝에서 다음 줄로 명령어를 지속할 수 있습니다. 예를 들어 다음 명령어는 dir 명령을 사용하여 현재 디렉토리의 모든 파일과 디렉토리를 나열하고 결과를 output.txt 파일에 출력합니다.

dir > output.txt

이 명령어를 다음과 같이 여러 줄로 분할할 수 있습니다.

dir ^
> output.txt

방법 2:カッコ 사용

괄호를 사용하여 명령어 블록을 정의할 수 있습니다. 이를 통해 여러 줄에 걸쳐 명령어를 그룹화하고 가독성을 향상시킬 수 있습니다. 예를 들어 다음 명령어는 mkdir 명령을 사용하여 docsimages라는 두 개의 디렉토리를 만듭니다.

mkdir docs images
(
  mkdir docs
  mkdir images
)

방법 3: 서브 스크립트 사용

복잡하거나 여러 줄에 걸친 명령어는 별도의 배치 파일로 작성할 수 있습니다. 그런 다음 CALL 명령을 사용하여 주 배치 파일에서 서브 스크립트를 호출할 수 있습니다. 예를 들어 다음 명령어는 myscript.bat라는 서브 스크립트를 호출합니다.

CALL myscript.bat

주의 사항

  • 명령어를 여러 줄로 분할할 때 공백 문자는 무시됩니다.
  • REMECHO와 같은 일부 명령어는 특수 처리됩니다. 이러한 명령어를 여러 줄로 분할하는 방법에 대한 자세한 내용은 Windows 배치 파일 참조를 참조하십시오.

예제

다음은 긴 명령어를 여러 줄로 분할하는 방법을 보여주는 예입니다.

@echo off

rem 현재 디렉토리의 모든 파일과 디렉토리를 나열하고 결과를 output.txt 파일에 출력합니다.
dir ^
> output.txt

rem docs 및 images라는 두 개의 디렉토리를 만듭니다.
(
  mkdir docs
  mkdir images
)

rem myscript.bat 서브 스크립트를 호출합니다.
CALL myscript.bat



예제 코드

@echo off

rem 현재 디렉토리의 모든 파일과 디렉토리를 나열하고 결과를 output.txt 파일에 출력합니다.
dir ^
> output.txt

rem docs 및 images라는 두 개의 디렉토리를 만듭니다.
(
  mkdir docs
  mkdir images
)

rem myscript.bat 서브 스크립트를 호출합니다.
CALL myscript.bat

코드 설명

  • @echo off - 명령어 실행 후 화면에 출력되지 않도록 합니다.
  • rem - 주석을 추가합니다.
  • dir - 현재 디렉토리의 모든 파일과 디렉토리를 나열합니다.
  • > - 명령어의 출력을 파일에 리다이렉트합니다.
  • mkdir - 디렉토리를 만듭니다.
  • CALL - 별도의 배치 파일을 호출합니다.

추가 정보




대체 방법

변수 사용

변수를 사용하여 긴 명령어를 여러 부분으로 나눌 수 있습니다. 그런 다음 FOR 루프나 SETLOCAL 명령과 같은 제어 구조를 사용하여 변수 값을 결합할 수 있습니다. 예를 들어 다음 명령어는 dir 명령을 사용하여 현재 디렉토리의 모든 파일과 디렉토리를 나열하고 결과를 output.txt 파일에 출력합니다.

setlocal EnableDelayedExpansion
set files=*
for %%a in (!files!) do (
  dir %%a ^
  >> output.txt
)

PowerShell 사용

PowerShell은 Windows에 기본적으로 포함된 스크립팅 언어이며 배치 파일보다 더 강력하고 유연한 기능을 제공합니다. PowerShell을 사용하여 긴 명령어를 여러 줄로 분할할 수 있으며 변수, 루프, 조건문과 같은 다양한 프로그래밍 기능을 활용할 수 있습니다. 예를 들어 다음 PowerShell 스크립트는 Get-ChildItem cmdlet을 사용하여 현재 디렉토리의 모든 파일과 디렉토리를 가져와 output.txt 파일에 출력합니다.

Get-ChildItem | Out-File -FilePath output.txt

타사 도구 사용

긴 명령어를 여러 줄로 분할하는 데 도움이 되는 다양한 타사 도구가 있습니다. 이러한 도구는 일반적으로 GUI를 제공하여 명령어를 입력하고 분할 방법을 선택할 수 있도록 합니다. 또한 일부 도구는 변수, 루프 및 조건문과 같은 고급 기능을 지원할 수 있습니다.

장단점 비교

방법장점단점
^ 연산자 사용간단하고 쉽게 사용할 수 있습니다.복잡한 명령어에는 적합하지 않을 수 있습니다.
괄호 사용명령어를 그룹화하여 가독성을 향상시킬 수 있습니다.괄호를 사용하는 방법을 익히는 데 시간이 걸릴 수 있습니다.
서브 스크립트 사용복잡하거나 여러 줄에 걸친 명령어를 관리하기에 적합합니다.여러 파일을 관리해야 하므로 코드 관리가 더 복잡해질 수 있습니다.
변수 사용강력하고 유연하며 다양한 프로그래밍 기능을 활용할 수 있습니다.변수를 사용하는 방법을 익히는 데 시간이 걸릴 수 있습니다.
PowerShell 사용강력하고 유연하며 다양한 프로그래밍 기능을 활용할 수 있습니다.PowerShell을 배우는 데 시간이 걸릴 수 있습니다.
타사 도구 사용사용하기 쉽고 GUI를 제공합니다.무료 도구는 기능이 제한적일 수 있으며 유료 도구는 비용이 발생할 수 있습니다.

선택 기준

긴 명령어를 여러 줄로 분할하는 데 사용할 방법을 선택할 때는 다음 요소를 고려해야 합니다.

  • 명령어의 복잡성
  • 가독성 요구 사항
  • 프로그래밍 경험
  • 필요한 기능

batch-file line-continuation

batch file line continuation

배치 파일에서 인수 전달하기: 자세한 설명

배치 파일은 Windows에서 특정 작업을 자동화하기 위해 사용되는 간단한 스크립트 파일입니다. 이러한 배치 파일은 다른 프로그램이나 명령에 인수를 전달하여 더욱 유연하게 사용될 수 있습니다.인수는 프로그램이나 명령 실행 시 추가적인 정보를 제공하는 값입니다