[1. 개요]
윈도우 환경에서 batch script 작성 시 유용한 for 문 활용 방법을 정리한다.
for 문의 기능
- List 에 대한 iterate
- 증감에 대한 iterate
- 재귀적인 실행
- directory 내 file 에 대한 iterate
- 명령어 결과에 대한 iterate
- 문자열 파싱 / tokenize
cmd 에서 실행할 때는 % 를 한번만 작성
script 로 작성 할 때는, % 를 두번 작성해야 한다.
for 문에 사용하는 변수명은 한글자만 가능하다.
- 보통, %a ~ %z, %A ~ %Z
- 대소문자 구분함.
자세한 사항은 for /? 로 확인 가능하다.
[2. List 에 대한 iterate]
for %a in (a b c) do echo %a
# 출력
# a
# b
# c
for %a in (a;b;c) do echo %a
# 출력
# a
# b
# c
for %a in (a,b,c) do echo %
# 출력
# a
# b
# c
[3. 증감에 대한 iterate]
for 뒤에 /L 이 와야 한다.
for /L %a in (1,1,10) do echo %a
(시작 값, 증가 값, 마지막 값)
=> 1부터 1씩 증가해서 10까지 반복
# 출력
# 1
# 2
# 3
# 4
# 5
# 6
# 7
# 8
# 9
# 10
[6. 명령어 결과에 대한 iterate]
for 문 뒤에 /F 가 오는 경우, 주어진 결과를 row 단위로 분리하여 iterate 한다.
- pipe 등을 사용해야 할 때는 ^ 를 pipe 기호 앞에 붙어야 한다.
for /F %a in ('dir /b') do echo %a
# 현재 디렉터리에 아래와 같은 파일이 있을 때
- a.txt
- b.txt
- c.txt
# 출력
# a.txt
# b.txt
# c.txt
for /F %a in ('dir /b ^| findstr .sql') do echo %a
# 현재 디렉터리에 아래와 같은 파일이 있을 때
- a.txt
- b.sql
- c.sql
# 출력
# b.sql
# c.sql
추가 작성 할 것.
'서버 관리 > 윈도우' 카테고리의 다른 글
copy 명령어에 대해서 (0) | 2023.12.19 |
---|---|
윈도우 서버 cpu 클럭 문제 (0) | 2023.09.25 |
윈도우 서비스 관리 (0) | 2023.09.19 |
File encoding (0) | 2023.07.18 |
window app 작성 시 유의 할 점 (0) | 2023.02.25 |