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

วิธีการตั้งค่าตัวแปรให้เป็น Null ใน PowerShell


สมาชิกในทีมคนหนึ่งของฉันเพิ่งถามเกี่ยวกับการตั้งค่าตัวแปรให้เป็นโมฆะใน PowerShell มีวิธีการที่แตกต่างกันในการทำเช่นนั้น ในบทช่วยสอนนี้ ฉันจะแสดงวิธีตั้งค่าตัวแปรให้เป็นโมฆะใน PowerShell

หากต้องการตั้งค่าตัวแปรให้เป็นโมฆะใน PowerShell คุณสามารถกำหนด $null ให้กับตัวแปรโดยใช้การกำหนดโดยตรง ตัวอย่างเช่น $myVariable=$null จะตั้งค่าของ $myVariable เป็น null ซึ่งจะทำให้สามารถล้างเนื้อหาได้อย่างมีประสิทธิภาพ

ตั้งค่าตัวแปรเป็น Null ใน PowerShell

ใน PowerShell $null เป็นตัวแปรอัตโนมัติที่ใช้เพื่อแสดงค่า NULL หรือค่าว่าง คุณสามารถกำหนด $null ให้กับตัวแปร ใช้ในการเปรียบเทียบ และใช้เป็นตัวยึดตำแหน่งสำหรับค่าที่ไม่มีหรือไม่ได้กำหนดในคำสั่งและสคริปต์

ตอนนี้ให้ฉันแสดงวิธีการต่างๆในการตั้งค่าตัวแปรให้เป็นโมฆะใน PowerShell พร้อมตัวอย่าง

วิธีที่ 1: การมอบหมายโดยตรง

วิธีที่ง่ายที่สุดในการตั้งค่าตัวแปรให้เป็นโมฆะใน PowerShell คือการกำหนด $null ให้กับตัวแปรโดยตรง

$myVariable = $null

หลังจากดำเนินการคำสั่งนี้ $myVariable จะมีค่าว่าง

ผมขอแสดงให้คุณเห็นอีกตัวอย่างหนึ่ง คุณจะได้เรียนรู้วิธีตั้งค่าตัวแปรให้เป็นโมฆะในลูป

พิจารณาสถานการณ์ที่คุณกำลังประมวลผลรายการอินพุตของผู้ใช้และจำเป็นต้องรีเซ็ตตัวแปรหลังจากการวนซ้ำแต่ละครั้ง

$inputs = @("Input1", "Input2", "Input3")

foreach ($input in $inputs) {
    $currentInput = $input
    # Process the input
    Write-Output "Processing $currentInput"
    
    # Reset the variable
    $currentInput = $null
}

ฉันรันสคริปต์ PowerShell ข้างต้น และคุณสามารถดูผลลัพธ์ได้ในภาพหน้าจอด้านล่าง:

ตรวจสอบว่าตัวแปรเป็น Null ใน PowerShell หรือไม่

วิธีที่ 2: Cmdlet ตัวแปรที่ชัดเจน

PowerShell มี cmdlet ในตัวชื่อ Clear-Variable ที่ให้คุณตั้งค่าตัวแปรให้เป็นค่าว่างได้

$myVariable = "Some value"
Clear-Variable -Name myVariable

ในตัวอย่างนี้ อันดับแรกเรากำหนดค่าให้กับ $myVariable จากนั้นใช้ cmdlet Clear-Variable เพื่อตั้งค่าเป็น null

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

เมื่อคุณจำเป็นต้องใช้ตัวแปรซ้ำหลายครั้งในสคริปต์ คุณสามารถล้างค่าของตัวแปรนั้นก่อนที่จะกำหนดตัวแปรใหม่

$results = @("Result1", "Result2", "Result3")

foreach ($result in $results) {
    $currentResult = $result
    # Process the result
    Write-Output "Processing $currentResult"
    
    # Clear the variable for the next iteration
    Clear-Variable -Name currentResult
}

คุณสามารถดูผลลัพธ์ได้ในภาพหน้าจอด้านล่าง:

ตรวจสอบการแชร์ตัวแปรระหว่างฟังก์ชันใน PowerShell

วิธีที่ 3: เอาตัวแปร Cmdlet

อีกวิธีหนึ่งในการตั้งค่าตัวแปรเป็น null คือการใช้ cmdlet Remove-Variable cmdlet นี้จะเอาตัวแปรทั้งหมดออกจากขอบเขตปัจจุบัน

$myVariable = "Some value"
Remove-Variable -Name myVariable

หลังจากรันคำสั่งเหล่านี้แล้ว $myVariable จะไม่มีอยู่ในขอบเขตปัจจุบันอีกต่อไป

ตอนนี้ ผมจะแสดงตัวอย่างจริงอีกตัวอย่างหนึ่งให้กับคุณเพื่อช่วยให้คุณเข้าใจได้ดีขึ้น

สมมติว่าคุณได้สร้างตัวแปรชั่วคราวหลายตัวในสคริปต์ คุณอาจต้องการลบออกเมื่อไม่ต้องการเพิ่มหน่วยความจำอีกต่อไป

นี่คือสคริปต์สำหรับตั้งค่าตัวแปรให้เป็นโมฆะ

$tempFilePath = "C:\Temp\file.txt"
# Perform operations using $tempFilePath

# Remove the temporary variable
Remove-Variable -Name tempFilePath

Write-Output "Temporary variable removed."

ตรวจสอบตัวแปรการพิมพ์ PowerShell

วิธีที่ 4: การใช้ [void] Type Accelerator

อีกวิธีหนึ่งในการตั้งค่าตัวแปรเป็น null คือการใช้ตัวเร่งความเร็วชนิด [void] วิธีการนี้มีประโยชน์มากเมื่อคุณต้องการละทิ้งค่าของตัวแปรอย่างชัดเจน

[void]$myVariable

ตอนนี้ ผมขอแสดงให้คุณเห็นอีกตัวอย่างหนึ่ง

สมมติว่าคุณกำลังรันคำสั่งที่สร้างเอาต์พุต แต่คุณสนใจเฉพาะผลข้างเคียงของคำสั่งเท่านั้น ไม่ใช่เอาต์พุตของคำสั่ง

# This command produces output, but we are not interested in it
[void](Get-Process)

# Proceed with other operations
Write-Output "Process information retrieved."

บทสรุป

ในบทช่วยสอนนี้ ฉันได้แสดงวิธีการต่างๆ เพื่อ ตั้งค่าตัวแปรเป็น null ใน PowerShell รวมถึงการกำหนดโดยตรง โดยใช้ Clear-Variable cmdlet และใช้ ลบตัวแปร cmdlet ฉันยังได้แสดงตัวอย่างที่แตกต่างกันของแต่ละวิธีด้วย

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