Mudah Mengkonversi Semua Arsip Zip Anda ke Arsip 7z
Format zip adalah standar untuk kompresi file, namun banyak pengguna daya dan tipe admin sistem lebih suka menggunakan format 7z karena menawarkan rasio kompresi yang jauh lebih baik. Format zip memang memiliki beberapa hal untuk itu seperti kecepatan (relatif terhadap format kompresi lainnya) dan dukungan aplikasi.
Jadi untuk mendapatkan yang terbaik dari kedua dunia, kami telah membuat skrip yang akan mengkonversi file zip Anda menjadi 7z file dengan satu perintah, sebuah proses yang kami sebut "pengarsipan yang mendalam".
Penggunaan Praktis
Jadi mengapa Anda memerlukan skrip ini ketika Anda bisa membuat arsip 7z saja? Berikut adalah beberapa alasan:
- Aplikasi tertentu hanya dapat menghasilkan arsip format zip.
- Karena kompresi zip lebih cepat dari kompresi 7z, Anda mungkin ingin dengan cepat menghasilkan file zip dan kemudian "kompres dalam" nanti.
Pertimbangkan skenario ini:
Anda menjalankan situs FTP tempat pelanggan mengunggah data kepada Anda dalam format zip. Pengguna Anda kemudian mengunduh dan menggunakan data sesuai kebutuhan tetapi Anda ingin menyimpan file-file ini untuk sementara waktu untuk berjaga-jaga jika Anda pengguna Anda membutuhkannya lagi (dalam hal ini Anda adalah pahlawan karena sudah tersedia). Untuk menghemat ruang, Anda dapat mengonversi arsip zip ke format 7z dan menyimpannya.
Sebagai alternatif, ganti data yang diunggah pelanggan dari skenario di atas dengan data pengguna yang dicadangkan (atau apa pun yang dapat Anda pikirkan) dan Anda dapat melihat ada banyak aplikasi praktis untuk ini.
Naskah
@ECHO OFF ECHO Arsip Dalam ECHO Ditulis oleh: Jason Faulkner ECHO SysadminGeek.com ECHO. GEMA. REM Mengambil file Zip dan mengompresnya kembali sebagai arsip 7z. Proses Script REM: REM 1. Dekompres arsip yang ada. REM 2. Kompres file yang diekstraksi dalam format 7z. REM 3. (opsional) Validasi file 7z yang baru. REM 4. (opsional) Hapus arsip sumber. REM REM Penggunaan: REM DeepArchive ZipFile REM REM Persyaratan: REM Alat baris perintah 7-Zip (7za.exe) berada di lokasi yang ditetapkan dalam variabel PATH. REM REM Catatan Tambahan: REM Skrip ini memproses arsip zip tunggal. REM Untuk memproses semua arsip zip dalam folder, gunakan perintah ForFiles dari baris perintah: REM FORFILES / P "pathtozipfiles" / M * .zip / C "cmd / c DeepArchive @path" REM REM Untuk menjalankan kompresi arsip / dekompresi sebagai proses latar belakang prioritas rendah REM tambahkan ini di depan perintah 7ZA (JANGAN tambahkan ini di depan perintah validasi 7ZA): REM MULAI / BelowNormal / Tunggu REM Menambahkan perintah di atas akan menggunakan jendela baru untuk melakukan operasi ini. SETLOCAL EnableExtensions EnableDelayedExpansion REM Haruskah file arsip yang dalam divalidasi? (1 = ya, 0 = tidak) SET Validate = 0 REM Tingkat kompresi: 1,3,5,7,9 (lebih tinggi = lebih lambat tetapi lebih banyak kompresi) SET CompressLevel = 5 REM Hapus file sumber zip pada kesuksesan? (1 = ya, 0 = tidak) SET DeleteSourceOnSuccess = 1 REM ---- Jangan modifikasi apapun di bawah baris ini ---- SET ArchiveFile =% 1 SET DeepFile =% ArchiveFile: .zip = .7z% SET tmpPath =% TEMP %% ~ nx1 SET tmpPathZip = "% tmpPath% *" SET tmpPath = "% tmpPath%" SET tmpFile = "% TEMP% tmpDeepArchive.txt" JIKA TIDAK ADA EXIST% tmpPath% (MKDIR% tmpPath%) ELSE (RMDIR / S / / Q% tmpPath%) Arsip Ekstrak ECHO:% ArchiveFile% 7ZA x% ArchiveFile% -o% tmpPath% ECHO. Arsip Kompresi ECHO:% DeepFile% 7ZA a -t7z -mx% CompressLevel%% DeepFile%% tmpPathZip% ECHO. JIKA % Validasi% == 1 (ECHO memvalidasi arsip:% DeepFile% 7ZA t% DeepFile% | FIND / C "Semuanya 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
Tautan
Unduh DeepArchive Script dari SysadminGeek.com
Unduh Alat Baris Perintah 7-Zip