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.