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
ระบุขอบเขตที่นามแฝงนี้ถูกต้อง
ค่าที่ยอมรับได้สำหรับพารามิเตอร์นี้คือ:
GlobalLocalScriptคุณยังสามารถใช้ตัวเลขที่สัมพันธ์กับขอบเขตปัจจุบันได้ (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 จะไม่มีผลกระทบใด ๆ มันไม่ได้สร้างตัวแปรที่มีค่าว่าง