batch-file
일괄 처리를 사용하여 파일 만들기
수색…
소개
통사론
- 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]에 추가합니다.
예 :
echo Hello World > myfile.txt
는 "Hello World"를 myfile.txt에 저장합니다.echo your name is %name% >> myfile.txt
는 "your name is xxxx"를 myfile.txt에 추가합니다.dir C:\ > directory.txt
는dir 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