Dễ dàng chuyển đổi tất cả lưu trữ Zip của bạn thành 7z

Mục lục:

Dễ dàng chuyển đổi tất cả lưu trữ Zip của bạn thành 7z
Dễ dàng chuyển đổi tất cả lưu trữ Zip của bạn thành 7z

Video: Dễ dàng chuyển đổi tất cả lưu trữ Zip của bạn thành 7z

Video: Dễ dàng chuyển đổi tất cả lưu trữ Zip của bạn thành 7z
Video: Cách đặt lại đơn vị đo inch sang cm trong Word 2007 - YouTube 2024, Tháng tư
Anonim

Định dạng zip là tiêu chuẩn để nén tệp, tuy nhiên nhiều người dùng quyền lực và các loại quản trị viên hệ thống thích sử dụng định dạng 7z hơn vì nó cung cấp tỷ lệ nén tốt hơn đáng kể. Định dạng zip không có một vài thứ cho nó như tốc độ (so với các định dạng nén khác) và hỗ trợ ứng dụng.

Vì vậy, để có được tốt nhất của cả hai thế giới, chúng tôi đã tạo ra một kịch bản mà sẽ chuyển đổi tập tin zip của bạn thành 7z tập tin với một lệnh duy nhất, một quá trình chúng tôi đang gọi là "lưu trữ sâu".

Sử dụng thực tế

Vậy tại sao bạn cần kịch bản này khi bạn có thể tạo 7z lưu trữ để bắt đầu? Dưới đây là một vài lý do:

  1. Một số ứng dụng nhất định chỉ có thể tạo bản lưu trữ định dạng zip.
  2. Vì nén zip nhanh hơn nén 7z, bạn có thể muốn tạo nhanh một tệp nén và sau đó nén sâu sau đó.

Hãy xem xét kịch bản này:

Bạn chạy một trang FTP nơi khách hàng tải dữ liệu lên cho bạn ở định dạng zip. Người dùng của bạn sau đó tải xuống và sử dụng dữ liệu khi cần nhưng bạn muốn giữ các tệp này trong một thời gian chỉ trong trường hợp người dùng của bạn cần chúng một lần nữa (trong trường hợp này bạn là người hùng vì họ sẵn có). Để tiết kiệm một số không gian, bạn có thể chuyển đổi lưu trữ zip thành định dạng 7z và cất chúng đi.

Cách khác, thay thế dữ liệu được tải lên của khách hàng từ kịch bản ở trên bằng dữ liệu người dùng được sao lưu (hoặc bất kỳ điều gì khác bạn có thể nghĩ đến) và bạn có thể thấy có nhiều ứng dụng thực tế cho việc này.

Kịch bản

@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

Liên kết

Tải xuống DeepArchive Script từ SysadminGeek.com

Tải xuống Công cụ Dòng lệnh 7-Zip

Đề xuất: