2016-04-11 22 views
0

gibi aynı adla klasörü kaldırın zip dosyası ile aynı ada sahip ve bu klasörü silin.Powershell, zip dosyası adını taşıyan klasörde, yani içine, bir zip dosyası çıkarılan edilmiş dosyaları silmeniz gerekir .zip

+0

Bir klasörde "TheArchive.zip" dosyası ve "TheArchive" klasörü varsa, o klasörü silmek mi demek istiyorsunuz? – Richard

+0

evet, tam olarak, örneğin. C:/temp klasöründe test1.zip ve klasör test1 dosyaları bulunur. Sonra test1 klasörünü silin ve test1.zip – mino

cevap

1

Dizindeki tüm Zip dosyalarının bir listesini alın, ardından sonuçların üstesinden gelin ve aynı ada sahip olan ve aynı adı taşıyan herhangi bir klasörü silin, ayrıca BaseName olarak da bilinir. Burada üzerinde kolay okunur şekilde

Get-ChildItem -Filter *.zip | ` 
    ForEach-Object { if (Test-Path $_.BaseName) { 
    Remove-Item -Recurse -Force $_.BaseName } 
    } 

tek bir satırda tamamı komutu girebilirsiniz, bunu ayrıldık. Ben bu örnekte aşağıdaki komutları kullanılır:

  • Get-ChildItem - Bir .zip uzantısı
  • ForEach-Object ile her dosya için boru hattı bir nesne oluşturur - Basitçe boru hattında her nesne için bir eylem gerçekleştirmesini sağlar.
  • Remove-Item - -Recurse kullanımına dikkat ve -Force, sen onaylamak için istenmez olacak klasör o dosyaları içeren bile kaldırılır sağlar.
+0

'u bırakın. Teşekkürler. – mino

+0

@mino: eğer bu cevap sorunuza çözüm buluyorsa lütfen cevap olarak kabul etmeyi ve geri almayı düşünün. Bu, topluluğa ve diğer kullanıcılara, bu cevabın sorunuzu çözdüğünü bildirir. –

İlgili konular