ค้นหาเว็บไซต์

วิธีใช้หลายเงื่อนไขใน PowerShell If Else Statement


หากคุณต้องการเป็นผู้เชี่ยวชาญใน PowerShell คุณควรรู้วิธีใช้เงื่อนไขหลายข้อในคำสั่ง if-else ของ PowerShell ฉันจะแสดงให้คุณเห็นว่ามันทำงานอย่างไรที่นี่พร้อมตัวอย่างต่างๆ

ในฐานะนักพัฒนา PowerShell คุณอาจต้องเพิ่มเงื่อนไขหลายข้อในคำสั่ง if-else เอาล่ะ มาเริ่มกันเลย

ก่อนที่จะใช้หลายเงื่อนไขในคำสั่ง if-else ต่อไปนี้คือลักษณะของคำสั่ง if-else พื้นฐาน:

if (<condition>) {
    # Code to execute if condition is true
} else {
    # Code to execute if condition is false
}

นี่คือตัวอย่าง:

$city = "New York"

if ($city -eq "New York") {
    Write-Output "The city is New York."
} else {
    Write-Output "The city is not New York."
}

ในตัวอย่างนี้ สคริปต์จะตรวจสอบว่าตัวแปร $city เท่ากับ "New York" หรือไม่ หากเป็นเช่นนั้น จะแสดงผลลัพธ์ว่า "เมืองนี้คือนิวยอร์ก" มิฉะนั้น จะแสดงผลว่า "เมืองนี้ไม่ใช่นิวยอร์ก"

วิธีใช้หลายเงื่อนไขใน PowerShell If Else Statement

ตอนนี้ให้เราดูวิธีเพิ่มเงื่อนไขหลายข้อในคำสั่ง PowerShell if else เราสามารถทำได้โดยใช้ตัวดำเนินการเชิงตรรกะต่างๆ เช่น -และ, -หรือ และ -not

ตรรกะและ (-และ)

ตัวดำเนินการ -and ใน PowerShell ช่วยให้คุณสามารถรวมเงื่อนไขตั้งแต่สองเงื่อนไขขึ้นไป และเงื่อนไขที่รวมกันจะเป็นจริงก็ต่อเมื่อเงื่อนไขแต่ละรายการทั้งหมดเป็นจริง การใช้ PowerShell และโอเปอเรเตอร์ทำให้เราสามารถเพิ่มเงื่อนไขหลายข้อในคำสั่ง if-else ได้

ไวยากรณ์

if (<condition1> -and <condition2>) {
    # Code to execute if both conditions are true
}

ตัวอย่าง

และนี่คือตัวอย่าง คุณสามารถดูสคริปต์ได้:

$state = "California"
$population = 39500000

if ($state -eq "California" -and $population -gt 30000000) {
    Write-Output "California has a population greater than 30 million."
} else {
    Write-Output "Either the state is not California or its population is not greater than 30 million."
}

ในตัวอย่างนี้ สคริปต์จะตรวจสอบว่าเงื่อนไขทั้งสองเป็นจริงหรือไม่: รัฐคือ "แคลิฟอร์เนีย" และมีประชากรมากกว่า 30 ล้านคน หากตรงตามเงื่อนไขทั้งสอง ระบบจะแสดงข้อความตามนั้น

คุณสามารถดูผลลัพธ์ได้ในภาพหน้าจอด้านล่างหลังจากที่ฉันดำเนินการ PowerShell ด้านบนโดยใช้โค้ด VS

อ่านการเปรียบเทียบสตริง PowerShell If-Else

ตรรกะหรือ (-หรือ)

เช่นเดียวกับตัวดำเนินการ -and คุณยังสามารถใช้ตัวดำเนินการ -หรือใน PowerShell ได้ หากมีเงื่อนไขอื่น

PowerShell หรือโอเปอเรเตอร์ช่วยให้คุณรวมเงื่อนไขตั้งแต่ 2 ข้อขึ้นไปได้ และเงื่อนไขที่รวมกันจะเป็นจริงหากมีอย่างน้อย 1 เงื่อนไขที่เป็นจริง

ไวยากรณ์

if (<condition1> -or <condition2>) {
    # Code to execute if at least one condition is true
}

ตัวอย่าง

นี่คือตัวอย่าง

$city = "Los Angeles"
$state = "California"

if ($city -eq "Los Angeles" -or $state -eq "California") {
    Write-Output "Either the city is Los Angeles or the state is California."
} else {
    Write-Output "Neither the city is Los Angeles nor the state is California."
}

ในตัวอย่างนี้ สคริปต์จะตรวจสอบว่าเมืองคือ "ลอสแองเจลิส" หรือรัฐคือ "แคลิฟอร์เนีย" หากเงื่อนไขเหล่านี้อย่างน้อยหนึ่งเงื่อนไขเป็นจริง ระบบจะแสดงข้อความตามนั้น

ดูภาพหน้าจอด้านล่าง ฉันรันสคริปต์ PowerShell ด้านบนโดยใช้โค้ด VS

อ่าน PowerShell ทำในขณะที่วนซ้ำ

ตรรกะไม่ (-ไม่ใช่)

ตัวดำเนินการ -not ปฏิเสธเงื่อนไข ทำให้เป็นจริงหากเงื่อนไขเดิมเป็นเท็จและในทางกลับกัน นี่เป็นอีกวิธีหนึ่งในการเพิ่มเงื่อนไขหลายข้อให้กับเงื่อนไข if-else ใน PowerShell

ไวยากรณ์

if (-not <condition>) {
    # Code to execute if the condition is false
}

ตัวอย่าง

ต่อไปนี้คือตัวอย่างวิธีใช้ตัวดำเนินการ -not ในคำสั่ง if-else ของ PowerShell

$state = "Texas"

if (-not ($state -eq "California")) {
    Write-Output "The state is not California."
} else {
    Write-Output "The state is California."
}

ในตัวอย่างนี้ สคริปต์จะตรวจสอบว่ารัฐไม่ใช่ "แคลิฟอร์เนีย" หรือไม่ หากเงื่อนไขเป็นจริง (เช่น รัฐไม่ใช่ "แคลิฟอร์เนีย") ระบบจะแสดงข้อความตามนั้น

อ่านฟังก์ชัน PowerShell: ส่งกลับค่าและหลายค่า

รวมหลายเงื่อนไขไว้ในคำสั่ง if-else

ตอนนี้ ให้ฉันแสดงวิธีรวมหลายเงื่อนไขในคำสั่ง if-else ใน PowerShell

คุณสามารถรวมเงื่อนไขหลายรายการได้โดยใช้โอเปอเรเตอร์ -และ, -หรือ และ -not ผสมกันเพื่อสร้างนิพจน์เชิงตรรกะที่ซับซ้อนใน PowerShell

ตัวอย่าง: รวม AND และ OR

ต่อไปนี้เป็นตัวอย่างวิธีการรวมเงื่อนไข AND และ OR ในคำสั่ง PowerShell if-else

$city = "San Francisco"
$state = "California"
$population = 883305

if (($city -eq "San Francisco" -and $state -eq "California") -or $population -gt 1000000) {
    Write-Output "Either the city is San Francisco and the state is California, or the population is greater than 1 million."
} else {
    Write-Output "Neither the city is San Francisco and the state is California, nor is the population greater than 1 million."
}

ในตัวอย่างนี้ สคริปต์จะตรวจสอบว่าเมืองคือ "ซานฟรานซิสโก" และรัฐคือ "แคลิฟอร์เนีย" หรือมีประชากรมากกว่า 1 ล้านคน หากเงื่อนไขรวมข้อใดข้อหนึ่งเป็นจริง ระบบจะแสดงข้อความตามนั้น

ตัวอย่าง: ใช้เงื่อนไข AND หลายรายการ

นี่เป็นอีกตัวอย่างหนึ่งที่คุณสามารถใช้เงื่อนไข AND หลายเงื่อนไขในคำสั่ง PowerShell if else

$city = "Chicago"
$state = "Illinois"
$population = 2716000

if ($city -eq "Chicago" -and $state -eq "Illinois" -and $population -gt 2000000) {
    Write-Output "The city is Chicago, the state is Illinois, and the population is greater than 2 million."
} else {
    Write-Output "One or more conditions are not met."
}

ในตัวอย่างนี้ สคริปต์จะตรวจสอบว่าเงื่อนไขทั้งสามเป็นจริงหรือไม่: เมืองคือ "ชิคาโก" รัฐคือ "อิลลินอยส์" และมีประชากรมากกว่า 2 ล้านคน หากตรงตามเงื่อนไขทั้งหมด ระบบจะแสดงข้อความตามนั้น

อ่านคำสั่ง PowerShell If Else เพื่อตรวจสอบว่าตัวเลขอยู่ระหว่างสองค่าหรือไม่

PowerShell หากเงื่อนไขสองข้อเป็นจริง

มาดูตัวอย่างที่เราจำเป็นต้องตรวจสอบว่าเงื่อนไขสองข้อเป็นจริงในคำสั่ง PowerShell if else หรือไม่

นี่คือตัวอย่างที่เราตรวจสอบเงื่อนไขจริงสองเงื่อนไขในคำสั่ง PowerShell if else

$state = "California"
$city = "Los Angeles"

if ($state -eq "California" -and $city -eq "Los Angeles") {
    Write-Output "The city is Los Angeles in California."
}

ในตัวอย่างนี้ สคริปต์จะตรวจสอบว่า $state คือ “California” และ $city คือ “Los Angeles” หากเงื่อนไขทั้งสองเป็นจริง ผลลัพธ์จะออกมาเป็น "เมืองนี้คือลอสแองเจลีสในแคลิฟอร์เนีย"

นี่เป็นอีกตัวอย่างหนึ่ง

$age = 25
$isCitizen = $true

if ($age -ge 18 -and $isCitizen -eq $true) {
    Write-Output "The person is eligible to vote."
} else {
    Write-Output "The person is not eligible to vote."
}

ในตัวอย่างนี้ สคริปต์จะตรวจสอบว่า $age มากกว่าหรือเท่ากับ 18 และ $isCitizen เป็นจริงหรือไม่ หากเงื่อนไขทั้งสองเป็นจริง จะแสดงผลเป็น "บุคคลมีสิทธิ์ลงคะแนนเสียง" มิฉะนั้นจะแสดงผลว่า "บุคคลนั้นไม่มีสิทธิ์ลงคะแนนเสียง"

อ่านวิธีใช้เครื่องหมายอัศเจรีย์ใน PowerShell If Statements

ตัวอย่างเงื่อนไขหลายเงื่อนไขของ PowerShell If-Else

ต่อไปนี้คือตัวอย่างบางส่วนของวิธีใช้เงื่อนไขหลายข้อในคำสั่ง PowerShell if-else

ตัวอย่างที่ 1: หลายเงื่อนไขในคำสั่ง If-Else ที่ซ้อนกัน

นี่คือตัวอย่างการตรวจสอบหลายเงื่อนไขในคำสั่ง if-else PowerShell ที่ซ้อนกัน:

$state = "Texas"
$city = "Houston"
$population = 2300000

if ($state -eq "Texas") {
    if ($city -eq "Houston" -and $population -gt 2000000) {
        Write-Output "Houston is a large city in Texas."
    }
}

ในตัวอย่างนี้ สคริปต์จะตรวจสอบก่อนว่า $state คือ “Texas” หรือไม่ หากเงื่อนไขนี้เป็นจริง ระบบจะตรวจสอบว่า $city คือ “Houston” และ $population มากกว่า 2,000,000 หรือไม่ หากเงื่อนไขที่ซ้อนกันทั้งสองเงื่อนไขเป็นจริง ระบบจะแสดงผลลัพธ์ว่า "Houston is a big city in Texas"

เรามาสำรวจสถานการณ์ในทางปฏิบัติบางประการที่การตรวจสอบสองเงื่อนไขมีประโยชน์กัน

ตัวอย่างที่ 2: เงื่อนไขหลายประการในการตรวจสอบรายละเอียดผู้ใช้ในคำสั่ง if-else

นี่คือตัวอย่างที่คุณต้องการตรวจสอบสิทธิ์ผู้ใช้ตามชื่อผู้ใช้และรหัสผ่านใน PowerShell:

$username = "john_doe"
$password = "securePassword123"

if ($username -eq "john_doe" -and $password -eq "securePassword123") {
    Write-Output "User authenticated successfully."
} else {
    Write-Output "Authentication failed."
}

ในตัวอย่างนี้ สคริปต์จะตรวจสอบว่าทั้งชื่อผู้ใช้และรหัสผ่านตรงกับค่าที่คาดหวังหรือไม่ หากเงื่อนไขทั้งสองเป็นจริง ระบบจะแสดงผลว่า "ตรวจสอบสิทธิ์ผู้ใช้เรียบร้อยแล้ว" มิฉะนั้นจะแสดงผลว่า "การตรวจสอบสิทธิ์ล้มเหลว"

ตัวอย่างที่ 3: เงื่อนไขหลายประการในการตรวจสอบว่าไฟล์มีอยู่และไม่ว่างเปล่า

นี่เป็นอีกตัวอย่างหนึ่ง โดยที่เราสามารถใช้หลายเงื่อนไขในคำสั่ง if-else เพื่อตรวจสอบว่ามีไฟล์อยู่และไม่ว่างเปล่าใน PowerShell หรือไม่

$filePath = "C:\Bijay\report.txt"

if (Test-Path $filePath -and (Get-Item $filePath).Length -gt 0) {
    Write-Output "The file exists and is not empty."
} else {
    Write-Output "The file does not exist or is empty."
}

ในตัวอย่างนี้ สคริปต์ใช้ Test-Path เพื่อตรวจสอบว่ามีไฟล์อยู่หรือไม่ และใช้ (Get-Item $filePath).Length เพื่อตรวจสอบว่าไฟล์ไม่ว่างเปล่าหรือไม่ หากทั้งสองเงื่อนไขเป็นจริง ระบบจะแสดงผลลัพธ์เป็น "ไฟล์มีอยู่และไม่ว่างเปล่า" มิฉะนั้นจะแสดงผลว่า "ไฟล์ไม่มีอยู่หรือว่างเปล่า"

บทสรุป

หากคุณต้องการเขียนสคริปต์ PowerShell ที่ซับซ้อน คุณควรรู้วิธีใช้เงื่อนไขหลายข้อใน if-else ใน PowerShell

ในบทช่วยสอนนี้ ฉันได้อธิบายวิธีใช้ตัวดำเนินการเชิงตรรกะ เช่น -และ, -หรือ และ -not และโดยการรวมเงื่อนไขเพื่อเพิ่ม หลายเงื่อนไขในคำสั่ง PowerShell if else

ฉันหวังว่าเงื่อนไขหลายประการในคำสั่ง if-else ของ PowerShell จะช่วยให้คุณเรียนรู้สิ่งนี้

บทความที่เกี่ยวข้อง