Convertissez facilement toutes vos archives Zip en archives 7z
Le format zip est la norme en matière de compression de fichier. Cependant, de nombreux types d'utilisateurs privilégiés et d'administrateurs système préfèrent utiliser le format 7z car il offre des taux de compression nettement meilleurs. Le format zip a quelques avantages, tels que la vitesse (par rapport aux autres formats de compression) et le support des applications..
Donc, pour tirer le meilleur parti des deux mondes, nous avons créé un script qui convertira vos fichiers zip en fichiers 7z avec une seule commande, processus que nous appelons «archivage en profondeur»..
Usages Pratiques
Alors pourquoi auriez-vous besoin de ce script alors que vous pouviez simplement créer des archives 7z pour commencer? Voici quelques raisons:
- Certaines applications ne peuvent produire que des archives au format zip.
- La compression zip étant plus rapide que la compression 7z, vous pouvez produire rapidement un fichier zip, puis le "compresser profondément" plus tard..
Considérez ce scénario:
Vous exécutez un site FTP où les clients téléchargent des données vers vous au format zip. Vos utilisateurs téléchargent et utilisent ensuite les données en fonction des besoins, mais vous souhaitez conserver ces fichiers pendant un certain temps, au cas où vos utilisateurs en auraient de nouveau besoin (dans ce cas, vous êtes un héros, car ils sont facilement disponibles). Afin de gagner de la place, vous pouvez convertir les archives zip au format 7z et les ranger..
Sinon, remplacez les données téléchargées par le client du scénario ci-dessus par des données utilisateur sauvegardées (ou tout ce que vous pouvez imaginer) et vous verrez qu'il existe de nombreuses applications pratiques pour cela..
Le scénario
@ECHO OFF ECHO Deep Archive ECHO Écrit par: Jason Faulkner ECHO SysadminGeek.com ECHO. ÉCHO. REM Prend un fichier Zip et le recompresse en archive 7z. Processus de script REM: REM 1. Décompressez l'archive existante. REM 2. Compresse les fichiers extraits au format 7z. REM 3. (facultatif) Validez le nouveau fichier 7z. REM 4. (facultatif) Supprimez l'archive source. REM REM Utilisation: REM DeepArchive ZipFile REM Configuration requise: REM L'outil de ligne de commande 7-Zip (7za.exe) se trouve à un emplacement défini dans la variable PATH. REM REM Notes supplémentaires: REM Ce script traite une archive zip unique. REM Pour traiter toutes les archives zip d'un dossier, utilisez la commande ForFiles à partir de la ligne de commande: REM FORFILES / P "pathtozipfiles" / M * .zip / C "cmd / c DeepArchive @path" REM REM pour exécuter l'archive de compression / décompression. En tant que processus d'arrière-plan de faible priorité, REM ajoute ceci devant les commandes 7ZA (NE PAS l'ajouter devant la commande de validation 7ZA): REM START / BelowNormal / Wait REM L'ajout de la commande ci-dessus utilisera une nouvelle fenêtre pour effectuer ces opérations. SETLOCAL EnableExtensions EnableDelayedExpansion REM Le fichier d'archive profonde doit-il être validé? (1 = oui, 0 = non) SET Valider = 0 REM Niveau de compression: 1,3,5,7,9 (plus haut = plus lent mais plus de compression) SET CompressLevel = 5 REM Supprimer le fichier zip source en cas de succès? (1 = oui, 0 = non) SET DeleteSourceOnSuccess = 1 REM ---- Ne modifiez rien en dessous de cette ligne ---- SET ArchiveFile =% 1 SET DeepFile =% ArchiveFile: .zip = .7z% SET tmpPath =% TEMP %% ~ nx1 SET tmpPathZip = "% tmpPath% *" SET tmpPath = "% tmpPath%" SET tmpFile = "% TEMP% tmpDeepArchive.txt" SI PAS EXIST% tmpPath% (MKDIR% tmpPath%) ELSE (RMDIR / S) / Q% tmpPath%) ECHO Extraction d'archive:% ArchiveFile% 7ZA x% ArchiveFile% -o% tmpPath% ECHO. Archive de compression ECHO:% DeepFile% 7ZA a -t7z -mx% CompressLevel%% DeepFile%% tmpPathZip% ECHO. SI % Validate% == 1 (archive de validation ECHO:% DeepFile% 7ZA t% DeepFile% | FIND / C "Tout est ok">% tmpFile% SET / P IsValid =< %tmpFile% IF !IsValid!==0 ( ECHO Validation failed! DEL /F /Q %DeepFile% ECHO. GOTO Fail ) ELSE ( ECHO Validation passed. ) ECHO. ) GOTO Success :Success IF %DeleteSourceOnSuccess%==1 DEL /F /Q %ArchiveFile% ECHO Success GOTO End :Fail ECHO Failed GOTO End :End IF EXIST %tmpFile% DEL /F /Q %tmpFile% IF EXIST %tmpPath% RMDIR /S /Q %tmpPath% ENDLOCAL
Liens
Téléchargez le script DeepArchive de SysadminGeek.com
Télécharger l'outil de ligne de commande 7-Zip