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

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

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