Powershell ลบไฟล์จากไดเรกทอรีเท่านั้น


14

ฉันพยายามลบไฟล์ทั้งหมด (แต่ไม่ใช่ไดเรกทอรี) ในโฟลเดอร์ D: \ MyTemp ฉันได้ลอง:

Remove-Item "D:\MyTemp"
Remove-Item "D:\MyTemp\*"

อย่างไรก็ตามเมื่อฉันตรวจสอบไฟล์ทั้งหมดจะยังคงอยู่ที่นั่น
ฉันกำลังคิดถึงอะไร

คำตอบ:


18

ลองสิ่งนี้:

Get-ChildItem *.* -recurse | Where { ! $_.PSIsContainer }

พบได้ที่นี่: /superuser/150748/have-powershell-get-childitem-return-files-only

หากต้องการลบไฟล์ทั้งหมดในไดเรกทอรีที่ระบุเท่านั้น (ไม่ต้องสนใจ sub-dirs):

Remove-Item "D:\MyTemp\*.*" | Where { ! $_.PSIsContainer }

1
ไฟล์นี้จะแสดงรายการเฉพาะในไดเรกทอรีปัจจุบัน
SteB

ไม่ดีของฉันไม่แน่ใจว่าคุณต้องการที่จะทำเงินคืน ฉันจะแก้ไขต้นฉบับ คุณก็สามารถเพิ่ม -recurse กับคำสั่ง Get-ChildItem
บอร์น

ใช้งานได้ (ลบเฉพาะไฟล์จากไดเรกทอรีที่ระบุโดยไม่สนใจ sub-dirs): ลบรายการ "D: \ MyTemp \ *. *" | ที่ไหน {! $ _. PSIsContainer}
SteB

เยี่ยมมาก ดีใจที่คุณทำงานได้
bourne

ขออภัย btw SteB ฉันเพิ่งสังเกตเห็นว่าฉันลืมที่จะรวมรายการลบ มันจะเป็นวันที่ยาวนานว้าว!
bourne

12

คำตอบที่ยอมรับไม่ได้สำหรับฉัน แต่ฉันต้องการ:

Get-Childitem -File | Foreach-Object {Remove-Item $_.FullName}

หากต้องการรวมโฟลเดอร์รวมถึงไฟล์ให้เพิ่ม-Recurse:

Get-Childitem -File -Recurse | Foreach-Object {Remove-Item $_.FullName}

1
นี้จะลบไฟล์จากไดเรกทอรีย่อยเช่นกัน - อาจไม่ใช่สิ่งที่ OP ต้องการ ...
Robbie Dee

1
คำตอบนี้ควรได้รับการยอมรับอย่างใดอย่างหนึ่ง ฉันเลือกคุณ!
Teoman shipahi


0

@ บอร์นเกือบจะมีมัน:

Get-ChildItem *.* -recurse | Where { ! $_.PSIsContainer } | remove-item

3
สิ่งนี้ไม่ได้ให้คำตอบสำหรับคำถาม เมื่อคุณมีเพียงพอชื่อเสียงคุณจะสามารถที่จะแสดงความคิดเห็นในโพสต์ใด ๆ ; แทนที่จะให้คำตอบที่ไม่จำเป็นต้องชี้แจงจากผู้ถาม - จากรีวิว
rnxrx

คุณหมายถึงอะไรมันไม่ได้ให้คำตอบ? มันทำอะไร? มันเป็นคำตอบที่สมบูรณ์แบบเพียงหน้าเดียว
มอร์เดชัย

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

ขอโทษฉันคิดว่าคุณไม่เข้าใจ PowerShell เพียงเพราะฉันอ้างถึงคำตอบอื่นก็ไม่ได้ทำให้ฉัน "พอเพียง" ได้น้อยลง
Mordechai

คุณอาจต้องการอธิบายปัญหาด้วยคำตอบอื่นทำให้เป็นคำสั่ง มิฉะนั้นคุณอาจต้องการอธิบายว่าคำสั่ง Powershell ของคุณทำอะไรได้บ้าง
Dennis Nolte
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.