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

จะตรวจสอบว่ามีตัวแปรอยู่ใน PowerShell ได้อย่างไร


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

หากต้องการตรวจสอบว่ามีตัวแปรอยู่ใน PowerShell หรือไม่ คุณสามารถใช้ cmdlet Get-Variable ตัวอย่างเช่น หากต้องการตรวจสอบว่ามีตัวแปรชื่อ $stateName อยู่หรือไม่ คุณสามารถใช้โค้ดต่อไปนี้: if (Get-Variable -Name stateName -ErrorAction SilentlyContinue) { Write-Host "The Variable ' มีชื่อรัฐ' อยู่แล้ว" } else { Write-Host "ไม่มีตัวแปร 'stateName'" .

วิธีที่ 1: การใช้ Get-Variable Cmdlet

วิธีที่ดีที่สุดในการตรวจสอบว่ามีตัวแปรอยู่ใน PowerShell หรือไม่คือการใช้ cmdlet Get-Variable cmdlet นี้ช่วยให้คุณสามารถดึงข้อมูลเกี่ยวกับตัวแปรในเซสชัน PowerShell ปัจจุบันได้

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

$stateName = "California"

if (Get-Variable -Name stateName -ErrorAction SilentlyContinue) {
    Write-Host "The variable 'stateName' exists and its value is: $stateName"
} else {
    Write-Host "The variable 'stateName' does not exist."
}

ในตัวอย่างนี้ ก่อนอื่นเราจะกำหนดตัวแปร $stateName และกำหนดค่าเป็น “California” จากนั้น เราใช้ Get-Variable cmdlet พร้อมด้วยพารามิเตอร์ -Name เพื่อตรวจสอบว่ามีตัวแปรอยู่หรือไม่ โดยการระบุ -ErrorAction SilentlyContinue เราจะระงับข้อความแสดงข้อผิดพลาดที่จะเกิดขึ้นหากไม่มีตัวแปรอยู่

คุณสามารถดูผลลัพธ์ได้ในภาพหน้าจอด้านล่างหลังจากรันสคริปต์โดยใช้โค้ด VS

ตรวจสอบการแบ่งสตริงเป็นตัวแปรใน PowerShell

วิธีที่ 2: การใช้ Test-Path Cmdlet กับตัวแปร: Provider

อีกวิธีที่มีประสิทธิภาพในการตรวจสอบการมีอยู่ของตัวแปรคือการใช้ cmdlet Test-Path ร่วมกับผู้ให้บริการ Variable: Test-Path cmdlet มักใช้เพื่อตรวจสอบการมีอยู่ของไฟล์หรือไดเร็กทอรี แต่ยังใช้กับผู้ให้บริการ Variable: เพื่อตรวจสอบตัวแปรได้ด้วย

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

$zipCode = 90210

if (Test-Path variable:zipCode) {
    Write-Host "The variable 'zipCode' exists and its value is: $zipCode"
} else {
    Write-Host "The variable 'zipCode' does not exist."
}

ในกรณีนี้ เรากำหนดตัวแปร $zipCode และกำหนดค่าให้เป็น 90210 ซึ่งแสดงถึงรหัสไปรษณีย์ที่มีชื่อเสียงในสหรัฐอเมริกา จากนั้นเราใช้ Test-Path cmdlet กับผู้ให้บริการ variable: ตามด้วยชื่อตัวแปร หากมีตัวแปรอยู่ เงื่อนไขจะประเมินเป็น $true และข้อความที่เกี่ยวข้องจะปรากฏขึ้น

นี่คือผลลัพธ์ในภาพหน้าจอด้านล่าง:

อ่านตัวแปรท้องถิ่นของ PowerShell

วิธีที่ 3: การใช้ตัวดำเนินการ -eq ด้วย $null

วิธีที่สามในการตรวจสอบว่ามีตัวแปรอยู่ใน PowerShell หรือไม่ โดยเปรียบเทียบกับ $null โดยใช้ตัวดำเนินการ -eq หากตัวแปรไม่ได้ถูกกำหนดหรือกำหนดค่า จะถือว่าเท่ากับ $null

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

$nationalPark = "Yellowstone"

if ($nationalPark -eq $null) {
    Write-Host "The variable 'nationalPark' does not exist or has no value assigned."
} else {
    Write-Host "The variable 'nationalPark' exists and its value is: $nationalPark"
}

ในตัวอย่างนี้ เรากำหนดตัวแปร $nationalPark และกำหนดค่า "เยลโลว์สโตน" ซึ่งหมายถึงอุทยานแห่งชาติที่มีชื่อเสียงในสหรัฐอเมริกา จากนั้นเราจะใช้ตัวดำเนินการ -eq เพื่อเปรียบเทียบ $nationalPark กับ $null หากไม่มีตัวแปรหรือไม่ได้กำหนดค่า เงื่อนไขจะประเมินเป็น $true และข้อความที่เกี่ยวข้องจะปรากฏขึ้น

นี่คือผลลัพธ์ในภาพหน้าจอด้านล่าง:

บทสรุป

ในบทช่วยสอนนี้ ฉันอธิบายวิธีตรวจสอบว่ามีตัวแปรอยู่ใน PowerShell หรือไม่ โดยใช้วิธีต่างๆ เช่น การใช้ cmdlet Get-Variable, Test-Path cmdlet ด้วยผู้ให้บริการ Variable: หรือตัวดำเนินการ -eq ด้วย $null ฯลฯ ฉันแนะนำให้ใช้ Get-Variable PowerShell cmdlet เสมอ เพื่อตรวจสอบว่ามีตัวแปรอยู่หรือไม่

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