수색…


소개

배치 파일의 유용한 기능 중 하나는 파일을 사용하여 파일을 만들 수 있다는 것입니다. 이 섹션에서는 배치 코드를 사용하여 파일을 만드는 방법을 보여줍니다.

통사론

  • echo (원하는대로 입력하십시오.) >> (파일 이름)
  • echo (변수 이름) >> (파일 이름)

비고

파일이 존재하면 > 는 파일을 덮어 쓰며 >> 는 파일의 끝에 추가합니다. 파일이 없으면 두 파일 모두 새 파일을 만듭니다.

또한 echo 명령은 문자열 뒤에 자동으로 줄 바꿈을 추가합니다.

그래서

echo 1 > num.txt
echo 1 > num.txt 
echo 2 >> num.txt 

다음 파일을 생성합니다 :

1
2

이거 말고:

1 1 2

또는

1 2

또한 텍스트 파일에서 한 줄만 수정할 수는 없습니다. 전체 파일을 읽고 코드에서 수정 한 다음 전체 파일에 다시 써야합니다.

리디렉션

체재:

[command] [> | >>] [filename]

> [command]의 결과를 [filename]에 저장 합니다.

>> [command]의 출력을 [filename]에 추가합니다.

예 :

  1. echo Hello World > myfile.txt 는 "Hello World"를 myfile.txt에 저장합니다.

  2. echo your name is %name% >> myfile.txt 는 "your name is xxxx"를 myfile.txt에 추가합니다.

  3. dir C:\ > directory.txtdir C:\ > directory.txt 의 디렉토리를 dir C:\ > directory.txt 저장합니다.

파일을 만드는 에코

echo 명령으로 파일을 만드는 방법 :

ECHO. > example.bat (creates an empty file called "example.bat")

ECHO message > example.bat (creates example.bat containing "message")
ECHO message >> example.bat (adds "message" to a new line in example.bat)
(ECHO message) >> example.bat (same as above, just another way to write it)

컴퓨터의 특정 디렉토리에있는 ECHO 명령을 통해 파일을 만들려면 문제가 발생할 수 있습니다.

ECHO Hello how are you? > C:\Program Files\example.bat

(This will NOT make a file in the folder "Program Files", and might show an error message)

그렇다면 어떻게해야할까요? 글쎄 실제로는 매우 간단합니다 ... 이름에 공백이 포함 된 경로 나 파일 이름을 입력 할 때 "따옴표"를 사용하는 것을 잊지 마십시오.

ECHO Hello how are you? > "C:\Program Files\example.bat"
(This will create "example.bat" in the folder "Program Files")

그러나 새로운 파일을 출력하는 파일을 만들고 싶다면 어떻게해야할까요?

ECHO message > file1.bat > example.bat

(example.bat is NOT going to contain "message > file1.bat")
example.bat will just contain "message"... nothing else

그러면 어떻게해야할까요? 자, ^ 기호를 사용합니다.

ECHO message ^> file1.bat > example.bat

(example.bat is going to contain "message > file1.bat")

일괄 적으로 다른 것들에 대해서도 마찬가지다.

다음 단계에서는 변수 및 명령문에 대한 지식이 필요합니다.

변수에 대해 자세히 알아 보려면 여기를 클릭하십시오. if 및 else 문에 대해 배우려면 여기를 클릭하십시오.

변수:

SET example="text"
ECHO %example% > file.bat
(This will output "text" to file.bat)

우리가 "text"를 출력하지 않고 plain % example %를 출력하고 싶다면 다음과 같이 작성하십시오 :

ECHO ^%example^% > file.bat
(This will output "%example%" to file.bat)

IF / ELSE 문 :

ELSE statements are written with "pipes" ||

IF ^%example^%=="Hello" ECHO True || ECHO False > file.bat

(example.bat is going to contain "if %example%=="Hello" echo True")
[it ignores everything after the ELSE statement]

전체 줄을 출력하려면 이전과 똑같이하십시오.

IF ^%example^%=="Hello" ECHO True ^|^| ECHO False > file.bat

This will output:
IF %example%=="Hello" ECHO True || ECHO False

변수가 "Hello"와 같으면 "True", 그렇지 않으면 "False"라고 표시됩니다.

많은 명령들의 출력 저장하기

많은 ECHO 명령을 사용하여 배치 파일 만들기 :

(
  echo echo hi, this is the date today
  echo date /T
  echo echo created on %DATE%
  echo pause >nul
)>hi.bat

명령 인터프리터는 괄호 안의 전체 섹션을 단일 명령으로 처리 한 다음 모든 출력을 hi.bat 저장합니다.

hi.bat 에 다음이 포함됩니다.

echo hi, this is the date today
date /T
echo created on [date created]
pause >nul


Modified text is an extract of the original Stack Overflow Documentation
아래 라이선스 CC BY-SA 3.0
와 제휴하지 않음 Stack Overflow