Belirli bir dosyayı bir arşivden komut satırından 7-Zip ile çıkart


34

Örneğin, some.zipbir veya daha fazla dosya içeren bir arşivim varsa, Windows'taki komut satırından sadece bir dosyayı (dosyanın adını biliyorum) 7-Zip ile nasıl çıkarabilirim ?

Yanıtlar:


32

Bir takibinde gelince surfasb cevabı , recurse için sonunda bir -r bayrağı ekleyin:

7z e [archive.zip] -o[outputdir] [fileFilter] -r

Birden çok filtre desteği:

7z e [archive.zip] -o[outputdir] [fileFilter_1] [fileFilter_2] -r

Örnek:

Birden çok filtre komut satırı:

7z e archive.zip -o outputdir *.xml *.dll -r

Not: 7z.exe yerine 7za.exe kullanıyorum. Bu, betiğimde kullandığım asıl komut:

7za.exe x archive.zip -o outputdir *.xml *.pdb *.exe *.ocx *.dll -r

1
Nasıl birden dosya filtre ekleyebilir ve söylemek .XMLve .zip? Üzgünüm, bu konuyu kaçırıyorsam, yinelenen bir soru eklemek istemedim.
Fr0zenFyr

1
Filtreleri boşlukla ayırarak iyi olması gerekir. Yukarıdaki düzenlenmiş cevaba bakınız. :)
zionyx

Ve belirli bir dosyayı arşivdeki bir arşivden nasıl çıkarabilirim? Diyelim ki aradığım dosyanın "MainArchive.zip" içindeki "SubArchive.zip" içindeki "MyFile.txt" olduğu söylenebilir. Mümkün mü?
PeterCo

1
@PeterCo, komut ayıklamak için sadece yetenekli olduğunu düşünüyorum SubArchive.zipdan MainArchive.zipsenin durumunda. Sen ekstresine komuta kadar bir takip çalışabilir MyFile.txtgelen SubArchive.zipilk çekimi sonrası.
zionyx

13

Sadece sonuna dosya adını ekleyin.

7z e [archive.zip]-o [çıktı]] [fileFilter]


1
Nasıl birden dosya filtre ekleyebilir ve söylemek .XMLve .zip? Üzgünüm, bu konuyu kaçırıyorsam, yinelenen bir soru eklemek istemedim.
Fr0zenFyr

Bu farklı bir soru @ Fr0zenFyr. Yinelenmediğini açıkça belirtmek için, bu soruya kendiniz başvurabilir ve kendinizin nasıl farklı olduğunu belirtebilirsiniz.
music2myear

@ music2myear: Açıklama için teşekkürler. Top zionyx tarafından verilen yanıt zaten bir çözüm içeriyor. Benim yorumum 2 yaşın üzerinde, bu yüzden ya yukarıdaki çözümü kullandığımı ya da zaten bir soru gönderdiğimi ve bir cevap bulduğumu varsaymak makul bir tahmin olurdu (BTW, bu benim durumumdu). Benim çözülmesi sonrası SO üzerinde benim yorumdur önce ve yaratılan orijinal iplik burada bu soruya bağlantı olamazdı bu yüzden. :)
Fr0zenFyr

Not: Burada yazıldığı gibi -o ile outputdir arasına boşluk koymayın.
Kral şakacı

4

7z man sayfasına bakarsanız , aşağıdaki komutu 7z arşivinden bir dosyayı çıkartmak için kullanabileceğinizi göreceksiniz (yolun kullanımı man sayfasından eksik olsa da):

7z x <archive> <path to file>

Örnekler:

7z x backup.7z *.html
7z x backup.7z folderwithin/myfile.html

Alternatif olarak kullanabilirsiniz e.

Komut satırı sürümü kullanıcıların rehber gerçek kullanım hakkında daha fazla bilgi var gibi gözüküyor.


2
Arşivdeki göreceli yol bu mu?
music2myear

Evet, "folderwithin", arşivin kökündeki bir klasördür.
Kral şakacı

1

7zAşağıdaki sözdizimine sahip olduğuna dikkat edin ( "-oMy Folder"çıktı klasörü adını ayarlama seçeneğini çevreleyen boşlukları ve alıntıları gözlemleyin, bunu başlangıçta yaptığım gibi çözmem saatlerimi aldı - yanlış yol: * -o "My Folder"*):

7z e "my zip.zip" "-oMy Folder" *.jpg "all of these.*" -r
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.