ฉันพยายามลบไฟล์ทั้งหมด (แต่ไม่ใช่ไดเรกทอรี) ในโฟลเดอร์ D: \ MyTemp ฉันได้ลอง:
Remove-Item "D:\MyTemp"
Remove-Item "D:\MyTemp\*"
อย่างไรก็ตามเมื่อฉันตรวจสอบไฟล์ทั้งหมดจะยังคงอยู่ที่นั่น
ฉันกำลังคิดถึงอะไร
ฉันพยายามลบไฟล์ทั้งหมด (แต่ไม่ใช่ไดเรกทอรี) ในโฟลเดอร์ D: \ MyTemp ฉันได้ลอง:
Remove-Item "D:\MyTemp"
Remove-Item "D:\MyTemp\*"
อย่างไรก็ตามเมื่อฉันตรวจสอบไฟล์ทั้งหมดจะยังคงอยู่ที่นั่น
ฉันกำลังคิดถึงอะไร
คำตอบ:
ลองสิ่งนี้:
Get-ChildItem *.* -recurse | Where { ! $_.PSIsContainer }
พบได้ที่นี่: /superuser/150748/have-powershell-get-childitem-return-files-only
หากต้องการลบไฟล์ทั้งหมดในไดเรกทอรีที่ระบุเท่านั้น (ไม่ต้องสนใจ sub-dirs):
Remove-Item "D:\MyTemp\*.*" | Where { ! $_.PSIsContainer }
คำตอบที่ยอมรับไม่ได้สำหรับฉัน แต่ฉันต้องการ:
Get-Childitem -File | Foreach-Object {Remove-Item $_.FullName}
หากต้องการรวมโฟลเดอร์รวมถึงไฟล์ให้เพิ่ม-Recurse
:
Get-Childitem -File -Recurse | Foreach-Object {Remove-Item $_.FullName}
คุณอยู่ที่นั่นแล้วคุณแค่ต้องการ:
Remove-Item "D:\MyTemp\*.*"
@ บอร์นเกือบจะมีมัน:
Get-ChildItem *.* -recurse | Where { ! $_.PSIsContainer } | remove-item