본문 바로가기

서버 관리/윈도우

batch, for 문

[1. 개요]

윈도우 환경에서 batch script 작성 시 유용한 for 문 활용 방법을 정리한다.

 

for 문의 기능

  1. List 에 대한 iterate
  2. 증감에 대한 iterate
  3. 재귀적인 실행
  4. directory 내 file 에 대한 iterate
  5. 명령어 결과에 대한 iterate
  6. 문자열 파싱 / 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