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

Clear-Variable (Microsoft.PowerShell.Utility)


Clear-Variable

โมดูล :
Microsoft.PowerShell.Utility

ลบค่าของตัวแปร

ไวยากรณ์

Clear-Variable
     [-Name] <String[]>
     [-Include <String[]>]
     [-Exclude <String[]>]
     [-Force]
     [-PassThru]
     [-Scope <String>]
     [-WhatIf]
     [-Confirm]
     [<CommonParameters>]

คำอธิบาย

Clear-Variable cmdlet จะลบข้อมูลที่จัดเก็บไว้ในตัวแปร แต่จะไม่ลบตัวแปร เป็นผลให้ค่าของตัวแปรเป็น NULL (ว่างเปล่า) หากตัวแปรมีข้อมูลหรือประเภทวัตถุที่ระบุ cmdlet นี้จะรักษาประเภทของวัตถุที่เก็บไว้ในตัวแปร

ตัวอย่าง

ตัวอย่างที่ 1: ลบค่าของตัวแปรร่วมที่ขึ้นต้นด้วยสตริงการค้นหา

Clear-Variable my* -Scope Global

คำสั่งนี้จะลบค่าของตัวแปรโกลบอลที่มีชื่อขึ้นต้นด้วย my

ตัวอย่างที่ 2: ล้างตัวแปรในขอบเขตย่อยแต่ไม่ใช่ขอบเขตหลัก

$a=3
&{ Clear-Variable a }
$a

3

คำสั่งเหล่านี้แสดงให้เห็นว่าการล้างตัวแปรในขอบเขตลูกไม่ได้ล้างค่าในขอบเขตหลัก คำสั่งแรกตั้งค่าของตัวแปร $a เป็น 3 คำสั่งที่สองใช้ตัวดำเนินการเรียกใช้ (&) เพื่อเรียกใช้ Clear-Variable คำสั่งในขอบเขตใหม่ ตัวแปรถูกล้างในขอบเขตย่อย (แม้ว่าจะไม่มีอยู่ก็ตาม) แต่ไม่ได้ล้างในขอบเขตภายในเครื่อง คำสั่งที่สาม ซึ่งรับค่า $a แสดงว่าค่า 3 ไม่ได้รับผลกระทบ

ตัวอย่างที่ 3: ลบค่าของตัวแปรที่ระบุ

Clear-Variable -Name "Processes"

คำสั่งนี้จะลบค่าของตัวแปรชื่อ Processes หลังจากที่ cmdlet ดำเนินการเสร็จสิ้นแล้ว ตัวแปรชื่อ Processes ยังคงมีอยู่ แต่ค่าเป็น null

พารามิเตอร์

-Confirm

แจ้งให้คุณยืนยันก่อนเรียกใช้ cmdlet

พิมพ์ :

SwitchParameter

นามแฝง :

cf

ตำแหน่ง:

ตั้งชื่อ

ค่าเริ่มต้น:

False

ที่จำเป็น:

False

ยอมรับอินพุตไปป์ไลน์:

False

ยอมรับอักขระตัวแทน:

False

-Exclude

ระบุอาร์เรย์ของรายการที่ cmdlet นี้ละเว้นในการดำเนินการ ค่าของพารามิเตอร์นี้มีคุณสมบัติตรงตามพารามิเตอร์ ชื่อ ป้อนองค์ประกอบหรือรูปแบบชื่อ เช่น "s*" อนุญาตให้ใช้ไวด์การ์ดได้

พิมพ์ :

String[]

ตำแหน่ง:

ตั้งชื่อ

ค่าเริ่มต้น:

None

ที่จำเป็น:

False

ยอมรับอินพุตไปป์ไลน์:

False

ยอมรับอักขระตัวแทน:

True

-Force

อนุญาตให้ cmdlet ล้างตัวแปรแม้ว่าจะเป็นแบบอ่านอย่างเดียวก็ตาม แม้จะใช้พารามิเตอร์ Force แต่ cmdlet ก็ไม่สามารถล้างค่าคงที่ได้

พิมพ์ :

SwitchParameter

ตำแหน่ง:

ตั้งชื่อ

ค่าเริ่มต้น:

None

ที่จำเป็น:

False

ยอมรับอินพุตไปป์ไลน์:

False

ยอมรับอักขระตัวแทน:

False

-Include

ระบุอาร์เรย์ของรายการที่ cmdlet นี้รวมไว้ในการดำเนินการ ค่าของพารามิเตอร์นี้มีคุณสมบัติตรงตามพารามิเตอร์ ชื่อ ป้อนองค์ประกอบหรือรูปแบบชื่อ เช่น "s*" อนุญาตให้ใช้ไวด์การ์ดได้

พิมพ์ :

String[]

ตำแหน่ง:

ตั้งชื่อ

ค่าเริ่มต้น:

None

ที่จำเป็น:

False

ยอมรับอินพุตไปป์ไลน์:

False

ยอมรับอักขระตัวแทน:

True

-Name

ระบุชื่อของตัวแปรที่ต้องการล้าง อนุญาตให้ใช้ไวด์การ์ดได้ จำเป็นต้องใช้พารามิเตอร์นี้ แต่ชื่อพารามิเตอร์ ชื่อ เป็นทางเลือก

พิมพ์ :

String[]

ตำแหน่ง:

0

ค่าเริ่มต้น:

None

ที่จำเป็น:

True

ยอมรับอินพุตไปป์ไลน์:

True

ยอมรับอักขระตัวแทน:

True

-PassThru

ส่งกลับวัตถุที่เป็นตัวแทนของรายการที่คุณกำลังทำงานอยู่ ตามค่าเริ่มต้น cmdlet นี้ไม่สร้างผลลัพธ์ใดๆ

พิมพ์ :

SwitchParameter

ตำแหน่ง:

ตั้งชื่อ

ค่าเริ่มต้น:

None

ที่จำเป็น:

False

ยอมรับอินพุตไปป์ไลน์:

False

ยอมรับอักขระตัวแทน:

False

-Scope

ระบุขอบเขตที่นามแฝงนี้ถูกต้อง

ค่าที่ยอมรับได้สำหรับพารามิเตอร์นี้คือ:

    Global
    Local
    Script

คุณยังสามารถใช้ตัวเลขที่สัมพันธ์กับขอบเขตปัจจุบันได้ (0 ถึงจำนวนขอบเขต โดยที่ 0 คือขอบเขตปัจจุบัน และ 1 คือระดับบนสุด) ท้องถิ่นเป็นค่าเริ่มต้น สำหรับข้อมูลเพิ่มเติม โปรดดูที่ about_Scopes

พิมพ์ :

String

ตำแหน่ง:

ตั้งชื่อ

ค่าเริ่มต้น:

None

ที่จำเป็น:

False

ยอมรับอินพุตไปป์ไลน์:

False

ยอมรับอักขระตัวแทน:

False

-WhatIf

แสดงสิ่งที่จะเกิดขึ้นหาก cmdlet ทำงาน cmdlet ไม่ทำงาน

พิมพ์ :

SwitchParameter

นามแฝง :

wi

ตำแหน่ง:

ตั้งชื่อ

ค่าเริ่มต้น:

False

ที่จำเป็น:

False

ยอมรับอินพุตไปป์ไลน์:

False

ยอมรับอักขระตัวแทน:

False

อินพุต

ไม่มี

คุณไม่สามารถไปป์วัตถุกับ cmdlet นี้

เอาท์พุต

ไม่มี

ตามค่าเริ่มต้น cmdlet นี้จะส่งกลับไม่มีผลลัพธ์

ตัวแปร PS

เมื่อคุณใช้พารามิเตอร์ PassThru cmdlet นี้จะส่งคืนออบเจ็กต์ PSVariable ที่แสดงถึงตัวแปรที่ถูกล้าง

หมายเหตุ

PowerShell มีนามแฝงต่อไปนี้สำหรับ Clear-Variable:

  • ทุกแพลตฟอร์ม:

      clv
  • หากต้องการลบตัวแปรพร้อมกับค่า ให้ใช้ Remove-Variable หรือ Remove-Item

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

    หากไม่มีตัวแปรที่คุณกำลังล้างอยู่ cmdlet จะไม่มีผลกระทบใด ๆ มันไม่ได้สร้างตัวแปรที่มีค่าว่าง

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