Converta facilmente todos os seus arquivos Zip para arquivos 7z

Índice:

Converta facilmente todos os seus arquivos Zip para arquivos 7z
Converta facilmente todos os seus arquivos Zip para arquivos 7z

Vídeo: Converta facilmente todos os seus arquivos Zip para arquivos 7z

Vídeo: Converta facilmente todos os seus arquivos Zip para arquivos 7z
Vídeo: Como configurar espaçamento entre linhas e parágrafo no Word 2016 - YouTube 2024, Abril
Anonim

O formato zip é o padrão para a compactação de arquivos, no entanto, muitos usuários avançados e administradores do sistema preferem usar o formato 7z porque ele oferece taxas de compactação significativamente melhores. O formato zip tem algumas coisas, como velocidade (em relação a outros formatos de compactação) e suporte a aplicativos.

Então, para obter o melhor dos dois mundos, nós criamos um script que irá converter seus arquivos zip em arquivos 7z com um único comando, um processo que estamos chamando de “deep archiving”.

Usos Práticos

Então, por que você precisaria deste script quando você poderia simplesmente criar arquivos 7z para começar? Aqui estão algumas razões:

  1. Certos aplicativos podem produzir apenas arquivos no formato zip.
  2. Como a compactação zip é mais rápida que a compactação 7z, talvez você queira produzir rapidamente um arquivo zip e depois "comprimir profundamente" mais tarde.

Considere este cenário:

Você executa um site FTP no qual os clientes fazem upload de dados para você no formato zip. Seus usuários, em seguida, baixam e usam os dados conforme necessário, mas você deseja manter esses arquivos por um tempo, caso seus usuários precisem deles novamente (nesse caso, você é um herói por tê-los prontamente disponíveis). Para economizar espaço, você pode converter os arquivos zip no formato 7z e guardá-los.

Como alternativa, substitua os dados enviados pelo cliente do cenário acima pelos dados de backup dos usuários (ou qualquer outra coisa que você possa imaginar) e você pode ver que há muitas aplicações práticas para isso.

O script

@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

Links

Faça o download do script do DeepArchive em SysadminGeek.com

Download da ferramenta de linha de comando 7-Zip

Recomendado: