728x90
윈도우 운영체제에서 배치파일로 다중 조건을 쓰는 조건문이 사용하고 싶을때가 있습니다.
c 코드를 예를 들자면
1
2
3
4
5
6
7
8
9
10
11
12
13
|
int num01 = 10;
int num02 = 30;
int num03 = 40;
if ( num01 == 0|| num02 ==30 || num03 == 0) {
printf("if statement is trigger");
}
|
cs |
위와 같이 조건 중에서 num02만 30값을 충족하지만 다중조건하나만 충족해도 이프문은 트리거됩니다.
위와 같은 코드를 배치파일로 사용하고 싶다면.
아래와 같이 goto 문을 사용해야합니다.
왜냐하면 배치파일에서는 다중조건을 지원하지 않기 때문입니다.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
|
@echo off
setlocal enabledelayedexpansion
set /a num01=10
set /a num02=30
set /a num03=40
rem 초기값출력
echo num01 is %num01%
echo num02 is %num02%
echo num03 is %num03%
rem 다중조건대신 goto문 이용
IF %num01% equ 0 goto IfStatement_is_trigger
IF %num02% equ 30 goto IfStatement_is_trigger
IF %num03% equ 0 goto IfStatement_is_trigger
rem 배치파일은 코드가 순차적 실행되므로 위의 3가지 if문을 충족 못 했을때 실행 할 부분으로 이동
goto IfStatement_is_not_execute
rem 조건 트리거 된 경우
:IfStatement_is_trigger
(
echo if statement is trigger
goto EndBatchCode
)
rem 조건 트리거 안 된 경우
:IfStatement_is_not_execute
(
echo if statement is not execute
goto EndBatchCode
)
:EndBatchCode
pause
|
cs |
위의 배치파일 실행시 아래와 같은 화면을 볼 수 있습니다.
728x90
'기타 공부 기록 > 배치파일' 카테고리의 다른 글
노트패드 줄바꿈변경 (1) | 2024.10.01 |
---|---|
배치파일 인자 (0) | 2023.05.31 |
배치파일에서 !변수! 와 %변수% 차이 (0) | 2023.05.30 |