Clear-Content (Microsoft.PowerShell.Management)
Clear-Content
- โมดูล :
- Microsoft.PowerShell.Management
ลบเนื้อหาของรายการ แต่ไม่ลบรายการ
ไวยากรณ์
Clear-Content
[-Path] <String[]>
[-Filter <String>]
[-Include <String[]>]
[-Exclude <String[]>]
[-Force]
[-Credential <PSCredential>]
[-WhatIf]
[-Confirm]
[-Stream <String>]
[<CommonParameters>]Clear-Content
-LiteralPath <String[]>
[-Filter <String>]
[-Include <String[]>]
[-Exclude <String[]>]
[-Force]
[-Credential <PSCredential>]
[-WhatIf]
[-Confirm]
[-Stream <String>]
[<CommonParameters>]Clear-Content
[-Path] <String[]>
[-Filter <String>]
[-Include <String[]>]
[-Exclude <String[]>]
[-Force]
[-Credential <PSCredential>]
[-WhatIf]
[-Confirm]
[<CommonParameters>]Clear-Content
-LiteralPath <String[]>
[-Filter <String>]
[-Include <String[]>]
[-Exclude <String[]>]
[-Force]
[-Credential <PSCredential>]
[-WhatIf]
[-Confirm]
[<CommonParameters>]คำอธิบาย
Clear-Content cmdlet จะลบเนื้อหาของรายการ เช่น การลบข้อความออกจากไฟล์ แต่จะไม่ลบรายการ ด้วยเหตุนี้ รายการจึงมีอยู่แต่ว่างเปล่า Clear-Content คล้ายกับ Clear-Item แต่ใช้ได้กับรายการที่มีเนื้อหา แทนที่จะเป็นรายการที่มีค่า
ตัวอย่าง
ตัวอย่างที่ 1: ลบเนื้อหาทั้งหมดออกจากไดเร็กทอรี
Clear-Content "..\SmpUsers\*\init.txt"คำสั่งนี้จะลบเนื้อหาทั้งหมดออกจากไฟล์ init.txt ในไดเร็กทอรีย่อยทั้งหมดของไดเร็กทอรี SmpUsers ไฟล์จะไม่ถูกลบ แต่จะว่างเปล่า
ตัวอย่างที่ 2: ลบเนื้อหาของไฟล์ทั้งหมดด้วยไวด์การ์ด
Clear-Content -Path "*" -Filter "*.log" -Forceคำสั่งนี้จะลบเนื้อหาของไฟล์ทั้งหมดในไดเร็กทอรีปัจจุบันที่มีนามสกุลไฟล์ .log รวมถึงไฟล์ที่มีแอตทริบิวต์อ่านอย่างเดียว เครื่องหมายดอกจัน (*) ในเส้นทางแสดงถึงรายการทั้งหมดในไดเรกทอรีปัจจุบัน พารามิเตอร์ Force ทำให้คำสั่งมีผลกับไฟล์แบบอ่านอย่างเดียว การใช้ตัวกรองเพื่อจำกัดคำสั่งไว้เฉพาะไฟล์ที่มีนามสกุลไฟล์ .log แทนที่จะระบุ *.log ในพาธจะทำให้การดำเนินการเร็วขึ้น
ตัวอย่างที่ 3: ล้างข้อมูลทั้งหมดจากสตรีม
ตัวอย่างนี้แสดงวิธีที่ Clear-Content cmdlet ล้างเนื้อหาจากสตรีมข้อมูลสำรองในขณะที่ปล่อยให้กระแสข้อมูลไม่เสียหาย
คำสั่งแรกใช้ Get-Content cmdlet เพื่อรับเนื้อหาของสตรีม Zone.Identifier ในไฟล์ Copy-Script.ps1 ซึ่ง ถูกดาวน์โหลดจากอินเทอร์เน็ต
คำสั่งที่สองใช้ Clear-Content cmdlet เพื่อล้างเนื้อหา
คำสั่งที่สามทำซ้ำคำสั่งแรก ตรวจสอบว่าเนื้อหาถูกล้างแล้ว แต่สตรีมยังคงอยู่ หากสตรีมถูกลบ คำสั่งจะสร้างข้อผิดพลาด
คุณสามารถใช้วิธีการเช่นนี้เพื่อล้างเนื้อหาของสตรีมข้อมูลสำรอง อย่างไรก็ตาม ไม่ใช่วิธีที่แนะนำในการกำจัดการตรวจสอบความปลอดภัยที่บล็อกไฟล์ที่ดาวน์โหลดจากอินเทอร์เน็ต หากคุณตรวจสอบว่าไฟล์ที่ดาวน์โหลดมานั้นปลอดภัย ให้ใช้ Unblock-File cmdlet
Get-Content C:\Test\Copy-Script.ps1 -Stream Zone.Identifier
[ZoneTransfer]
ZoneId=3
Clear-Content C:\Test\Copy-Script.ps1 -Stream Zone.Identifier
Get-Content C:\Test\Copy-Script.ps1 -Stream Zone.Identifier
พารามิเตอร์
-Confirm
แจ้งให้คุณยืนยันก่อนเรียกใช้ cmdlet
- พิมพ์ :
SwitchParameter
- นามแฝง :
cf
- ตำแหน่ง:
ตั้งชื่อ
- ค่าเริ่มต้น:
None
- ที่จำเป็น:
False
- ยอมรับอินพุตไปป์ไลน์:
-
False
- ยอมรับอักขระตัวแทน:
False
-Credential
บันทึก
ผู้ให้บริการใดๆ ที่ติดตั้ง PowerShell ไม่รองรับพารามิเตอร์นี้ หากต้องการแอบอ้างเป็นผู้ใช้รายอื่น หรือยกระดับข้อมูลประจำตัวของคุณเมื่อเรียกใช้ cmdlet นี้ ให้ใช้ Invive-Command
- พิมพ์ :
PSCredential
- ตำแหน่ง:
ตั้งชื่อ
- ค่าเริ่มต้น:
ผู้ใช้ปัจจุบัน
- ที่จำเป็น:
False
- ยอมรับอินพุตไปป์ไลน์:
True
- ยอมรับอักขระตัวแทน:
False
-Exclude
ระบุเป็นอาร์เรย์สตริง สตริงที่ cmdlet นี้ละเว้นจากเส้นทางไปยังเนื้อหา ค่าของพารามิเตอร์นี้มีคุณสมบัติตรงตามพารามิเตอร์ เส้นทาง ป้อนองค์ประกอบเส้นทางหรือรูปแบบ เช่น *.txt อนุญาตให้ใช้ไวด์การ์ดได้
- พิมพ์ :
String[]
- ตำแหน่ง:
ตั้งชื่อ
- ค่าเริ่มต้น:
None
- ที่จำเป็น:
False
- ยอมรับอินพุตไปป์ไลน์:
False
- ยอมรับอักขระตัวแทน:
True
-Filter
ระบุตัวกรองในรูปแบบหรือภาษาของผู้ให้บริการ ค่าของพารามิเตอร์นี้มีคุณสมบัติตรงตามพารามิเตอร์ เส้นทาง ไวยากรณ์ของตัวกรอง รวมถึงการใช้ไวด์การ์ด ขึ้นอยู่กับผู้ให้บริการ ตัวกรองมีประสิทธิภาพมากกว่าพารามิเตอร์อื่นๆ เนื่องจากผู้ให้บริการจะใช้ตัวกรองเหล่านี้เมื่อดึงข้อมูลออบเจ็กต์ แทนที่จะให้ PowerShell กรองออบเจ็กต์หลังจากที่ดึงข้อมูลแล้ว
- พิมพ์ :
String
- ตำแหน่ง:
ตั้งชื่อ
- ค่าเริ่มต้น:
None
- ที่จำเป็น:
False
- ยอมรับอินพุตไปป์ไลน์:
False
- ยอมรับอักขระตัวแทน:
True
-Force
บังคับให้คำสั่งทำงานโดยไม่ต้องขอการยืนยันจากผู้ใช้
- พิมพ์ :
SwitchParameter
- ตำแหน่ง:
ตั้งชื่อ
- ค่าเริ่มต้น:
False
- ที่จำเป็น:
False
- ยอมรับอินพุตไปป์ไลน์:
False
- ยอมรับอักขระตัวแทน:
False
-Include
ระบุเป็นอาร์เรย์สตริง เนื้อหาที่ cmdlet นี้ล้าง ค่าของพารามิเตอร์นี้มีคุณสมบัติตรงตามพารามิเตอร์ เส้นทาง ป้อนองค์ประกอบเส้นทางหรือรูปแบบ เช่น *.txt อนุญาตให้ใช้ไวด์การ์ดได้
- พิมพ์ :
String[]
- ตำแหน่ง:
ตั้งชื่อ
- ค่าเริ่มต้น:
None
- ที่จำเป็น:
False
- ยอมรับอินพุตไปป์ไลน์:
False
- ยอมรับอักขระตัวแทน:
True
-LiteralPath
ระบุเส้นทางไปยังรายการที่จะลบเนื้อหา ต่างจากพารามิเตอร์ Path ค่าของ LiteralPath จะถูกใช้เหมือนกับที่พิมพ์ทุกประการ ไม่มีอักขระใดที่ถูกตีความว่าเป็นไวด์การ์ด หากเส้นทางมีอักขระหลีก ให้ใส่เครื่องหมายคำพูดเดี่ยว (') เครื่องหมายคำพูดเดี่ยวบอกให้ PowerShell ไม่ต้องตีความอักขระใดๆ เป็นลำดับหลีก
- พิมพ์ :
String[]
- นามแฝง :
PSPath, LP
- ตำแหน่ง:
ตั้งชื่อ
- ค่าเริ่มต้น:
None
- ที่จำเป็น:
True
- ยอมรับอินพุตไปป์ไลน์:
True
- ยอมรับอักขระตัวแทน:
False
-Path
ระบุเส้นทางไปยังรายการที่จะลบเนื้อหา อนุญาตให้ใช้ไวด์การ์ดได้ เส้นทางต้องเป็นเส้นทางไปยังรายการ ไม่ใช่ไปยังคอนเทนเนอร์ ตัวอย่างเช่น คุณต้องระบุเส้นทางไปยังไฟล์ตั้งแต่หนึ่งไฟล์ขึ้นไป ไม่ใช่เส้นทางไปยังไดเร็กทอรี อนุญาตให้ใช้ไวด์การ์ดได้ จำเป็นต้องใช้พารามิเตอร์นี้ แต่ชื่อพารามิเตอร์ (เส้นทาง) เป็นทางเลือก
- พิมพ์ :
String[]
- ตำแหน่ง:
0
- ค่าเริ่มต้น:
None
- ที่จำเป็น:
True
- ยอมรับอินพุตไปป์ไลน์:
True
- ยอมรับอักขระตัวแทน:
True
-Stream
นี่คือพารามิเตอร์แบบไดนามิกที่ผู้ให้บริการ ระบบไฟล์ สร้างขึ้น พารามิเตอร์นี้มีเฉพาะบน Windows เท่านั้น
ระบุสตรีมข้อมูลทางเลือกสำหรับเนื้อหา หากไม่มีกระแสข้อมูล cmdlet นี้จะสร้างขึ้นมา ไม่รองรับอักขระตัวแทน
คุณสามารถใช้ Clear-Content cmdlet เพื่อเปลี่ยนเนื้อหาของสตรีมข้อมูลสำรอง เช่น Zone.Identifier อย่างไรก็ตาม เราไม่แนะนำให้ใช้วิธีนี้ในการกำจัดการตรวจสอบความปลอดภัยที่บล็อกไฟล์ที่ดาวน์โหลดจากอินเทอร์เน็ต หากคุณตรวจสอบว่าไฟล์ที่ดาวน์โหลดมานั้นปลอดภัย ให้ใช้ Unblock-File cmdlet
พารามิเตอร์นี้ถูกนำมาใช้ใน PowerShell 3.0 ใน PowerShell 7.2 Clear-Content สามารถล้างเนื้อหาของสตรีมข้อมูลทางเลือกจากไดเร็กทอรีและไฟล์ได้
สำหรับข้อมูลเพิ่มเติม โปรดดูที่ about_FileSystem_Provider
- พิมพ์ :
String
- ตำแหน่ง:
ตั้งชื่อ
- ค่าเริ่มต้น:
None
- ที่จำเป็น:
False
- ยอมรับอินพุตไปป์ไลน์:
False
- ยอมรับอักขระตัวแทน:
False
-WhatIf
แสดงสิ่งที่จะเกิดขึ้นหาก cmdlet ทำงาน cmdlet ไม่ทำงาน
- พิมพ์ :
SwitchParameter
- นามแฝง :
wi
- ตำแหน่ง:
ตั้งชื่อ
- ค่าเริ่มต้น:
False
- ที่จำเป็น:
False
- ยอมรับอินพุตไปป์ไลน์:
False
- ยอมรับอักขระตัวแทน:
False
อินพุต
ไม่มี
คุณไม่สามารถไปป์วัตถุกับ cmdlet นี้
เอาท์พุต
ไม่มี
cmdlet นี้ส่งคืนไม่มีผลลัพธ์
หมายเหตุ
PowerShell มีนามแฝงต่อไปนี้สำหรับ Clear-Content:
ทุกแพลตฟอร์ม:
clc
คุณสามารถใช้ Clear-Content กับผู้ให้บริการ PowerShell FileSystem และผู้ให้บริการรายอื่นที่จัดการเนื้อหา หากต้องการล้างรายการที่ไม่ถือว่าเป็นเนื้อหา เช่น รายการที่ได้รับการจัดการโดยผู้ให้บริการใบรับรอง PowerShell หรือผู้ให้บริการรีจิสทรี ให้ใช้ Clear-Item
Clear-Content cmdlet ได้รับการออกแบบมาเพื่อทำงานกับข้อมูลที่เปิดเผยโดยผู้ให้บริการรายใดก็ได้ หากต้องการแสดงรายการผู้ให้บริการที่มีอยู่ในเซสชันของคุณ ให้พิมพ์ Get-PsProvider สำหรับข้อมูลเพิ่มเติม โปรดดูที่ about_Providers