Powershell dosyaları yalnızca dizinden sil


14

D: \ MyTemp klasöründeki tüm dosyaları (ancak dizinleri) silmeye çalışıyorum, denedim:

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

Ancak, kontrol ettiğimde, tüm dosyalar hala orada.
Neyi kaçırıyorum?

Yanıtlar:


18

Bunu dene:

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

Burada buldum : /superuser/150748/have-powershell-get-childitem-return-files-only

Yalnızca belirtilen dizindeki tüm dosyaları silmek için (alt dizinleri yoksayarak):

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

1
Bu sadece geçerli dizindeki dosyayı listeler
— SteB

Kötülerim, röportaj yapmak isteyip istemediğinizden emin değildi. Orijinali düzenleyeceğim. Get-ChildItem komutuna -recurse ekleyebilirsiniz
— bourne

Bu çalışır (alt dizinleri yoksayarak yalnızca belirtilen dizindeki dosyaları sil): "D: \ MyTemp \ *. *" Öğesini Kaldır | Nerede { ! PSIsContainer}
— SteB

Bu harika. Çalıştığına sevindim.
— bourne

Üzgünüm bBw SteB, ben sadece Kaldır-Ürün dahil unuttum fark ettim. Uzun bir gün vay olacak!
— bourne

13

Kabul edilen cevap benim için işe yaramadı, bunun yerine ihtiyacım vardı:

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

Klasörlerin yanı sıra dosyaları dahil etmek için şunları ekleyin -Recurse:

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

1
Bu da alt dizinlerden dosyaları siler - muhtemelen OP'nin istediği gibi değil ...
— Robbie Dee

1
Bu cevap kabul edilmelidir. Seni seçiyorum!
— Teoman shipahi

4

Neredeyse oradaydın, sadece ihtiyacın vardı:

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

0

@bourne neredeyse vardı:

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

3
Bu soruya bir cevap sağlamaz. Yeterli bir üne sahip olduğunuzda , herhangi bir gönderi hakkında yorum yapabilirsiniz ; bunun yerine askerden açıklama gerektirmeyen cevaplar verin . - Yorumdan
— rnxrx

Ne demek cevap vermiyor? Bu ne işe yarıyor? Bu sayfadaki tek tam cevaptır.
— Mordechai

Bu kendi kendine yeterli bir cevap değil. Yanıtınızdaki noktaya gelince, bu başka bir yanıt için düzeltmedir ve yorum olarak dahil edilmelidir.
— rnxrx

Üzgünüm, sanırım powershell'i anlamıyorsunuz. Başka bir cevaba atıfta bulunduğum için, benimkini daha az "kendi kendine yeten" yapmaz,
— Mordechai

sorunu diğer cevapla açıklamak isteyebilirsiniz, bu da onu bir komut haline getirir. Aksi takdirde Powershell komutunuzun ne yaptığını açıklamak isteyebilirsiniz
— Dennis Nolte
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.