web-dev-qa-db-fra.com

comment extraire plusieurs fichiers compressés et rar de manière récursive?

J'ai un dossier ExampleFolder qui contient de nombreux dossiers compressés. Ces dossiers compressés contiennent également plusieurs dossiers compressés. Comment passer en revue ExampleFolder et extraire tous ses dossiers compressés de manière récursive?

Notez que ExampleFolder lui-même, n'est pas compressé, c'est juste un dossier normal

Bon maintenant je sais ce qui se passe Rinzwind et les réponses de nux sont correctes (sauf que je dois continuer à appuyer sur Y ou A pour toujours)

Mais il semble que certains des fichiers compressés, contenant des fichiers compressés et des fichiers rar également, les fichiers rar ne seront pas extraits par

while [ "`find . -type f -name '*.Zip' | wc -l`" -gt 0 ]; do find -type f -name "*.Zip" -exec unzip -- '{}' \; -exec rm -- '{}' \;; done 

ou peu importe

Edit 2 Certains fichiers s'appellent .r00 et r01, .r02 jusqu'à r14, ce sont des fichiers rar, mais pas .rar

2
Lynob

Vous pouvez utiliser cette commande, elle décompresse récursivement tous les fichiers de votre répertoire actuel.

Note Ceci supprimera les fichiers compressés d'origine, mais si vous souhaitez conserver les fichiers d'origine, supprimez le code -exec rm -- '{}' \;.

Commande:

while [ "`find . -type f -name '*.Zip' | wc -l`" -gt 0 ]; do find -type f -name "*.Zip" -exec unzip -- '{}' \; -exec rm -- '{}' \;; done 
1
nux

Le moyen le plus simple que je puisse imaginer est d’extraire le fichier Zip, puis d’extraire ce qui était à l’intérieur.

Dites, dans ExampleFolder vous avez Example-A.Zip. Extrayez simplement le .Zips de Example-A.Zip (probablement dans un dossier nommé Example-A-Folder), puis extrayez-les un par un. Cela peut être gênant dans les cas où le compresser récursivement (sous Windows, quelque chose comme Example.Zip.zip.Zip apparaîtrait) conduirait à un dossier compressé dans un autre, etc.

0
Andrew Stewart