if 문에서 여러 조건을 결합하는 방법
-
PowerShell의
if
문 -
PowerShell의
if
문에서 여러 조건을 결합하기 위한 논리 연산자 사용 -
PowerShell의
if
문에서 여러 조건을 결합하기 위해 여러 연산자 사용하기 -
PowerShell에서 여러 조건을 결합하기 위해
if
문 중첩하기 - 결론

PowerShell에서 if
문은 의사 결정을 위한 강력한 도구입니다. 그러나 많은 작업에서는 더 정밀한 제어를 위해 여러 조건을 결합해야 합니다.
이 기사에서는 PowerShell의 if
문에서 논리 연산자를 사용하여 여러 조건을 결합하는 다양한 방법을 살펴보겠습니다.
PowerShell의 if
문
다음은 if
문의 간단한 예시입니다. 괄호 안의 조건이 true로 평가되면 Write-Host "2는 2와 같습니다."
명령이 실행됩니다.
코드:
if (2 -eq 2) {
Write-Host "2 is equal to 2."
}
괄호 ()
안의 지정된 조건이 $true
로 평가되면 중괄호 {}
안의 명령이 실행됩니다.
출력:
2 is equal to 2.
조건이 $false
인 경우 해당 코드 블록을 건너뛰게 됩니다. 위 예시는 하나의 조건을 사용하지만, if
문에서도 여러 조건을 평가할 수 있습니다.
PowerShell의 if
문에서 여러 조건을 결합하기 위한 논리 연산자 사용
논리 연산자는 PowerShell에서 문과 표현식을 연결합니다. 단일 표현식을 사용하여 여러 조건을 테스트할 수 있습니다.
PowerShell에서 지원되는 논리 연산자는 -and
, -or
, -not
, -xor
, 그리고 !
입니다. 이 기사에서는 if
문에서 여러 조건을 결합하기 위해 -and
, -or
, -not
, -xor
연산자를 사용하는 방법만 논의하겠습니다.
PowerShell의 if
문에서 여러 조건을 결합하기 위해 -and
연산자 사용하기
다음 예시는 if
문에서 두 문장을 연결하기 위해 -and
연산자를 사용합니다. 첫 번째 조건 5는 10보다 작다
가 true이고 두 번째 조건 7은 5보다 크다
가 true일 경우, Write-Host
명령이 실행됩니다.
코드:
if ((5 -lt 10) -and (7 -gt 5)) {
Write-Host "The above conditions are true."
}
출력:
The above conditions are true.
이 경우 두 조건이 모두 true이므로 코드 블록이 실행되며, 메시지 "위의 조건이 모두 true입니다."
가 출력됩니다.
PowerShell의 if
문에서 여러 조건을 결합하기 위해 -or
연산자 사용하기
이 코드에서는 -lt
(보다 작음) 및 -gt
(보다 큼) 연산자를 사용하여 5가 10보다 작거나 7이 5보다 큰지를 확인합니다. 그런 다음 -or
연산자를 사용하여 (5 -lt 10)
또는 (7 -gt 5)
중 하나가 true인지 확인합니다.
코드:
if ((5 -lt 10) -or (7 -gt 5)) {
Write-Host "At least one of the above conditions is true."
}
else {
Write-Host "Neither of the above conditions is true."
}
출력:
At least one of the above conditions is true.
원래 코드에서 두 조건이 모두 true이므로 "조건 중 적어도 하나가 true입니다."
라는 출력이 인쇄됩니다.
PowerShell의 if
문에서 여러 조건을 결합하기 위해 -not
연산자 사용하기
다음 코드에서는 숫자 값을 나타내는 변수 $number
가 있습니다. 우리는 -lt
(보다 작음) 및 -gt
(보다 큼) 연산자를 사용하여 숫자가 5보다 작거나 10보다 큰지를 확인합니다.
-or
연산자는 왼쪽과 오른쪽의 두 조건을 결합하는 데 사용됩니다. 조건 중 적어도 하나가 true이면 true를 반환합니다. 두 조건 모두 false이므로 -or
표현식은 false로 평가됩니다.
-not
연산자는 -or
표현식의 결과에 적용됩니다. -or
표현식이 false이기 때문에 그 결과를 부정하면 true가 됩니다.
코드:
$number = 7
if (-not ($number -lt 5 -or $number -gt 10)) {
Write-Host "The number is between 5 and 10 (inclusive)."
}
else {
Write-Host "The number is outside the range of 5 to 10."
}
출력:
The number is between 5 and 10 (inclusive).
-not
연산자가 결합된 조건을 true로 만들기 때문에 if
블록 안의 코드가 실행됩니다. 출력은 $number = 7
값이 5에서 10(포함) 사이의 지정된 범위에 해당함을 나타냅니다.
PowerShell의 if
문에서 여러 조건을 결합하기 위해 -xor
연산자 사용하기
다음 코드는 두 조건을 확인하고 -xor
연산자를 사용하여 결합된 진리 값을 결정합니다. if
문 안에는 두 조건이 있습니다: 첫 번째 조건은 5가 10보다 작은지이고, 두 번째 조건은 7이 5보다 큰지입니다.
-xor
연산자는 배타적 OR
연산자로, 정확히 하나의 피연산자가 true일 때 true를 반환하고, 두 피연산자가 모두 true이거나 모두 false이면 false를 반환합니다.
이 경우 두 조건이 모두 true이므로 -xor
표현식은 false로 평가되고, else
블록 안의 코드가 실행됩니다.
코드:
if ((5 -lt 10) -xor (7 -gt 5)) {
Write-Host "Exactly one of the above conditions is true."
}
else {
Write-Host "Neither or both of the above conditions are true."
}
출력:
Neither or both of the above conditions are true.
출력은 "위의 조건 중 어느 것도 또는 둘 다 true입니다."
를 출력합니다. 이는 조건 중 어느 것도 독점적으로 true가 아님을 나타냅니다; 두 조건은 함께 true이거나 false입니다.
PowerShell의 if
문에서 여러 조건을 결합하기 위해 여러 연산자 사용하기
유사하게, PowerShell의 if
문에서 논리 연산자를 사용하여 여러 조건을 결합할 수 있습니다. 이 예에서는 결합된 조건이 true
인지 false
인지에 따라 다른 명령을 실행합니다.
아래 코드는 논리 연산자 -and
와 -or
를 사용하여 여러 조건을 결합합니다. 이러한 조건 중 하나라도 true이면 첫 번째 명령(Write-Host "그것은 true입니다."
)이 실행되고, 그렇지 않으면 두 번째 명령(Write-Host "그것은 false입니다."
)이 실행됩니다.
코드:
if (((10 -lt 20) -and (10 -eq 10)) -or ((15 -gt 5) -and (12 -lt 6))) {
Write-Host "It is true."
}
else {
Write-Host "It is false."
}
출력:
It is true.
여기서 if
문은 결합된 조건을 확인하고 조건 평가를 기반으로 적절한 명령 블록을 실행합니다. 조건이 true이므로 "그것은 true입니다."
라는 메시지가 인쇄되었습니다.
각 조건 세트를 괄호 ()
로 묶고 특정 요구 사항에 맞는 논리 연산자를 사용하는 것을 기억하세요.
PowerShell에서 여러 조건을 결합하기 위해 if
문 중첩하기
중첩된 if
문은 복잡한 조건이 필요할 때 유용할 수 있습니다. 특정 맥락 내에서 조건을 확인하거나 다양한 조건을 기반으로 다른 작업을 수행해야 할 때, 중첩된 if
문은 더 구조적인 접근 방식을 허용합니다.
이 코드에서 우리는 변수 $number = 15
를 선언합니다. 그런 다음 $number
가 10보다 크거나 같은 지를 확인하는 외부 if
문을 생성합니다.
외부 조건이 true이면, 중첩된 if
문이 $number
가 20보다 작거나 같은지를 확인합니다.
코드:
$number = 15
if ($number -ge 10) {
if ($number -le 20) {
Write-Host "The number is between 10 and 20."
}
}
출력:
The number is between 10 and 20.
이 코드에서 외부 if
문은 $number
가 10보다 크거나 같다
고 확인합니다. 이 조건이 충족되면, 중첩된 if
문으로 진행되어 $number
가 20보다 작거나 같다
고 확인합니다.
두 조건이 모두 true일 때만 Write-Host
명령이 실행됩니다. 출력에서 두 조건이 모두 충족되어 "숫자가 10과 20 사이입니다."
라는 메시지가 인쇄됩니다.
결론
결론적으로, PowerShell의 if
문에서 여러 조건을 결합하는 것은 효율적인 스크립트를 만들기 위해 필수적입니다. 논리 연산자 -and
, -or
, -not
, -xor
를 사용하면 다양한 스크립팅 과제를 해결하기 위한 복잡한 조건 논리를 생성할 수 있습니다.
단순한 조건이든 중첩된 if
문이든, PowerShell은 정보에 입각한 결정을 내리고 스크립트에서 올바른 작업을 실행하는 데 도움이 되는 강력한 도구를 제공합니다.