19Aug

Convertissez facilement toutes vos archives ZIP en archives 7z

Le format zip est la norme pour la compression de fichiers, mais 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 choses à faire, comme la vitesse( par rapport aux autres formats de compression) et le support des applications.

Afin d'obtenir le meilleur des deux mondes, nous avons créé un script qui convertira vos fichiers zip en fichiers 7z avec une seule commande, un processus que nous appelons "l'archivage profond".

Utilisations pratiques

Alors pourquoi auriez-vous besoin de ce script alors que vous pourriez simplement créer des archives 7z pour commencer? Voici quelques raisons:

  1. Certaines applications peuvent uniquement produire des archives au format zip.
  2. Comme la compression zip est plus rapide que la compression 7z, vous pouvez produire rapidement un fichier zip, puis le "compresser" plus tard.

Envisagez ce scénario:

Vous exécutez un site FTP sur lequel les clients téléchargent des données au format zip. Vos utilisateurs téléchargent et utilisent les données au besoin, mais vous souhaitez conserver ces fichiers pendant un certain temps au cas où vos utilisateurs en auraient besoin( dans ce cas, vous êtes un héros pour les avoir facilement disponibles).Afin de gagner de l'espace, 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 d'autre) et vous pouvez voir qu'il existe de nombreuses applications pratiques pour cela.

Le script

@ECHO OFF ECHO Deep ECHO Ecrit par: Jason Faulkner ECHO SysadminGeek.com ECHO.ÉCHO.REM Prend un fichier Zip et le recompacte en archive 7z. Processus de script REM: REM 1. Décompressez l'archive existante. REM 2. Compressez 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 Conditions requises: REM L'outil de ligne de commande 7-Zip( 7za.exe) se trouve dans un emplacement défini dans la variable PATH.REM REM Notes supplémentaires: REM Ce script traite une seule archive zip. REM Pour traiter toutes les archives zip d'un dossier, utilisez la commande ForFiles depuis la ligne de commande: REM FORFILES / P "pathtozipfiles" / M *. zip / C "cmd / c DeepArchive @path" REM REM Pour exécuter la compression / décompression de l'archiveen tant que processus d'arrière-plan de faible priorité REM l'ajoute devant les commandes 7ZA( NE PAS ajouter ceci devant la commande de validation 7ZA): REM START / BelowNormal / Wait REM Ajout d'une nouvelle fenêtre pour effectuer ces opérations. SETLOCAL EnableExtensions EnableDelayedExpansion REM Le fichier d'archives profondes doit-il être validé?(1 = oui, 0 = non) SET Valider = 0 REM Niveau de compression: 1,3,5,7,9( supérieur = 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 sous 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 NON EXIST% tmpPath%( MKDIR% tmpPath%) ELSE( RMDIR / S/ Q% tmpPath%) ECHO Archive d'extraction:% ArchiveFile% 7ZA x% ArchiveFile% -o% tmpPath% ECHO.ECHO Compressing archive:% DeepFile% 7ZA a -t7z -mx% CompressLevel%% DeepFile%% tmpPathZip% ECHO.IF{ % Validate%} =={ 1}( Archive de validation ECHO:% DeepFile% 7ZA t% DeepFile% | FIND / C "Tout est OK" & gt;% tmpFile% SET / P IsValid = & lt;% tmpFile% IF!IsValid! == 0( Echec de la validation ECHO! DEL / F / Q% DeepFile% ECHO Echec GOTO) ELSE( Validation ECHO réussie.) ECHO.) GOTO Succès: Succès SI{ % DeleteSourceOnSuccess%} =={ 1} DEL /F / Q% ArchiveFile% ECHO Succès GOTO Fin: Echec ECHO Echec GOTO Fin: Fin SI EXIST% tmpFile% DEL / F / Q% tmpFichier% IF EXIST% tmpPath% RMDIR / S / Q% tmpPath% ENDLOCAL

Liens

Télécharger DeepArchiveScript de SysadminGeek.com

Télécharger Outil de ligne de commande 7-Zip