Convertissez facilement toutes vos archives Zip en archives 7z

Table des matières:

Convertissez facilement toutes vos archives Zip en archives 7z
Convertissez facilement toutes vos archives Zip en archives 7z

Vidéo: Convertissez facilement toutes vos archives Zip en archives 7z

Vidéo: Convertissez facilement toutes vos archives Zip en archives 7z
Vidéo: INTRODUCTION & INSTALLATION KALI LINUX - YouTube 2024, Avril
Anonim

Le format zip est la norme en matière de compression de fichier. Toutefois, 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 pourriez simplement créer des archives 7z? Voici quelques raisons:

  1. Certaines applications ne peuvent produire que des archives au format zip.
  2. La compression zip étant plus rapide que la compression 7z, vous pouvez créer 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 selon vos 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 pourrez constater qu'il existe de nombreuses applications pratiques pour cela.

Le scénario

@ECHO OFF ECHO Deep Archive ECHO Written by: Jason Faulkner ECHO SysadminGeek.com ECHO. ECHO. REM Takes a Zip file and recompresses it as 7z archive. REM Script process: REM 1. Decompress the existing archive. REM 2. Compress the extracted files in 7z format. REM 3. (optional) Validate the new 7z file. REM 4. (optional) Delete the source archive. REM REM Usage: REM DeepArchive ZipFile REM REM Requirements: REM The 7-Zip command line tool (7za.exe) is in a location set in the PATH variable. REM REM Additional Notes: REM This script processes a single zip archive. REM To process all zip archives in a folder, use the ForFiles command from the command line: REM FORFILES /P 'pathtozipfiles' /M *.zip /C 'cmd /c DeepArchive @path' REM REM To run the archive compression/decompression as low priority background processes REM add this in front of the 7ZA commands (DO NOT add this in front of the validation 7ZA command): REM START /BelowNormal /Wait REM Adding the above command will use a new window to perform these operations. SETLOCAL EnableExtensions EnableDelayedExpansion REM Should the deep archive file be validated? (1=yes, 0=no) SET Validate=0 REM Compression level: 1,3,5,7,9 (higher=slower but more compression) SET CompressLevel=5 REM Delete source zip file on success? (1=yes, 0=no) SET DeleteSourceOnSuccess=1 REM ---- Do not modify anything below this line ---- SET ArchiveFile=%1 SET DeepFile=%ArchiveFile:.zip=.7z% SET tmpPath=%TEMP%%~nx1 SET tmpPathZip='%tmpPath%*' SET tmpPath='%tmpPath%' SET tmpFile='%TEMP%tmpDeepArchive.txt' IF NOT EXIST %tmpPath% ( MKDIR %tmpPath% ) ELSE ( RMDIR /S /Q %tmpPath% ) ECHO Extracting archive: %ArchiveFile% 7ZA x %ArchiveFile% -o%tmpPath% ECHO. ECHO Compressing archive: %DeepFile% 7ZA a -t7z -mx%CompressLevel% %DeepFile% %tmpPathZip% ECHO. IF {%Validate%}=={1} ( ECHO Validating archive: %DeepFile% 7ZA t %DeepFile% | FIND /C 'Everything is 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 depuis SysadminGeek.com

Télécharger l'outil de ligne de commande 7-Zip

Conseillé: