Homepage » come » Converti facilmente tutti gli archivi Zip in archivi 7z

    Converti facilmente tutti gli archivi Zip in archivi 7z

    Il formato zip è lo standard per la compressione dei file, tuttavia molti utenti esperti e amministratori di sistema preferiscono utilizzare il formato 7z perché offre rapporti di compressione significativamente migliori. Il formato zip ha alcune cose per esso come la velocità (relativa ad altri formati di compressione) e il supporto delle applicazioni.

    Quindi, per ottenere il meglio da entrambi i mondi, abbiamo creato uno script che convertirà i file zip in file 7z con un singolo comando, un processo che chiameremo "archiviazione profonda".

    Usi pratici

    Quindi, perché avresti bisogno di questo script quando potresti creare solo archivi 7z per cominciare? Ecco alcuni motivi:

    1. Alcune applicazioni possono produrre solo archivi di formato zip.
    2. Poiché la compressione zip è più veloce della compressione 7z, potresti voler produrre rapidamente un file zip e poi "comprimerlo in profondità" in un secondo momento.

    Considera questo scenario:

    Si esegue un sito FTP in cui i clienti caricano i dati in formato zip. Gli utenti quindi scaricano e utilizzano i dati in base alle necessità, ma si desidera conservare questi file per un po 'nel caso in cui gli utenti ne abbiano ancora bisogno (nel qual caso sei un eroe per averli prontamente disponibili). Per risparmiare spazio, è possibile convertire gli archivi zip in formato 7z e nasconderlo.

    In alternativa, sostituisci i dati caricati dai clienti dallo scenario precedente con dati utente di backup (o qualsiasi altra cosa tu possa pensare) e puoi vedere che ci sono molte applicazioni pratiche per questo.

    Il copione

    @ECHO OFF ECHO Deep Archive ECHO Scritto da: Jason Faulkner ECHO SysadminGeek.com ECHO. ECO. REM prende un file zip e lo ricomprime come archivio 7z. Processo di script REM: REM 1. Decomprimere l'archivio esistente. REM 2. Comprime i file estratti nel formato 7z. REM 3. (opzionale) Convalida il nuovo file 7z. REM 4. (opzionale) Elimina l'archivio sorgente. REM REM Uso: REM DeepArchive ZipFile REM REM Requisiti: REM Lo strumento da riga di comando 7-Zip (7za.exe) si trova in una posizione impostata nella variabile PATH. REM REM Note aggiuntive: REM Questo script elabora un singolo archivio zip. REM Per elaborare tutti gli archivi zip in una cartella, utilizzare il comando ForFiles dalla riga di comando: REM FORFILES / P "pathtozipfiles" / M * .zip / C "cmd / c DeepArchive @path" REM REM Per eseguire la compressione / decompressione dell'archivio come processi in background con priorità bassa REM aggiungere questo davanti ai comandi 7ZA (NON aggiungere questo davanti al comando di validazione 7ZA): REM START / BelowNormal / Wait REM L'aggiunta del comando sopra utilizzerà una nuova finestra per eseguire queste operazioni. SETLOCAL EnableExtensions EnableDelayedExpansion REM Il file di archivio approfondito deve essere convalidato? (1 = sì, 0 = no) SET Validate = 0 REM Livello di compressione: 1,3,5,7,9 (più alto = più lento ma più compressione) SET CompressLevel = 5 REM Cancellare il file zip sorgente in caso di successo? (1 = sì, 0 = no) SET DeleteSourceOnSuccess = 1 REM ---- Non modificare nulla sotto questa riga ---- SET ArchiveFile =% 1 SET DeepFile =% ArchiveFile: .zip = .7z% SET tmpPath =% TEMP %% ~ nx1 SET tmpPathZip = "% tmpPath% *" SET tmpPath = "% tmpPath%" SET tmpFile = "% TEMP% tmpDeepArchive.txt" SE NON ESISTE% tmpPath% (MKDIR% tmpPath%) ELSE (RMDIR / S / Q% tmpPath%) Archivio di estrazione ECHO:% ArchiveFile% 7ZA x% ArchiveFile% -o% tmpPath% ECHO. Archivio ECHO Compressing:% DeepFile% 7ZA a -t7z -mx% CompressLevel%% DeepFile%% tmpPathZip% ECHO. IF % Validate% == 1 (archivio di convalida ECHO:% DeepFile% 7ZA t% DeepFile% | FIND / C "Tutto è 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 

    link

    Scarica DeepArchive Script da SysadminGeek.com

    Scarica 7-Zip Command Line Tool