19Aug

Łatwo Konwertuj wszystkie archiwa zip na archiwa 7z

click fraud protection

Format ZIP jest standardem kompresji plików, jednak wiele zaawansowanych użytkowników i administratorów systemu preferuje format 7z, ponieważ oferuje znacznie lepsze współczynniki kompresji. Format zip ma kilka rzeczy, które się na to nadają, takie jak szybkość( w stosunku do innych formatów kompresji) i obsługa aplikacji.

Aby uzyskać najlepsze z obu światów, stworzyliśmy skrypt, który przekształci pliki zip w pliki 7z za pomocą jednego polecenia, procesu, który nazywamy "głęboką archiwizacją".

Praktyczne zastosowania

Dlaczego więc potrzebujesz tego skryptu, skoro możesz po prostu utworzyć archiwa 7z na początek? Oto kilka powodów:

  1. Niektóre aplikacje mogą tworzyć tylko archiwa w formacie zip.
  2. Ponieważ kompresja zip jest szybsza niż kompresja 7z, możesz szybko utworzyć plik zip, a następnie "głęboko skompresować" go później.

Rozważmy następujący scenariusz:

Prowadzisz witrynę FTP, na której klienci przesyłają dane do Ciebie w formacie zip. Twoi użytkownicy następnie pobierają i używają dane w razie potrzeby, ale chcesz zachować te pliki przez jakiś czas, na wypadek gdyby użytkownicy znowu ich potrzebowali( w takim przypadku jesteś bohaterem, który zapewnia ich dostępność).Aby zaoszczędzić trochę miejsca, możesz przekonwertować archiwa zip do formatu 7z i ukryć je.

instagram viewer

Alternatywnie, zamień dane przesłane przez klienta z powyższego scenariusza na kopie zapasowe danych użytkownika( lub cokolwiek innego, co możesz wymyślić) i widać, że istnieje wiele praktycznych aplikacji do tego.

Skrypt

@ECHO OFF ECHO Deep Archive ECHO Napisane przez: Jason Faulkner ECHO SysadminGeek.com ECHO.ECHO.REM Pobiera plik Zip i ponownie kompresuje go jako archiwum 7z. REM Proces skryptu: REM 1. Dekompresuj istniejące archiwum. REM 2. Skompresuj wyodrębnione pliki w formacie 7z. REM 3.( opcjonalnie) Zatwierdź nowy plik 7z. REM 4.( opcjonalnie) Usuń archiwum źródłowe. REM REM Użycie: REM DeepArchive ZipFile REM REM Wymagania: REM Narzędzie wiersza poleceń 7-Zip( 7za.exe) znajduje się w lokalizacji ustawionej w zmiennej PATH.REM REM Uwagi dodatkowe: REM Ten skrypt przetwarza pojedyncze archiwum zip. REM Aby przetworzyć wszystkie archiwa zip w folderze, użyj polecenia ForFiles z wiersza poleceń: REM FORFILES / P "pathtozipfiles" / M *. zip / C "cmd / c DeepArchive @path" REM REM Aby uruchomić kompresję / dekompresję archiwumjako procesy w tle o niskim priorytecie REM dodaj to przed poleceniami 7ZA( NIE dodawaj tego przed poleceniem 7ZA walidacji): REM START / BelowNormal / Wait REM Dodanie powyższego polecenia spowoduje użycie nowego okna do wykonania tych operacji. SETLOCAL EnableExtensions EnableDelayedExpansion REM Czy plik głębokiego archiwum ma być sprawdzony?(1 = tak, 0 = nie) ZESTAW Zatwierdź = 0 REM Poziom kompresji: 1,3,5,7,9( wyższy = wolniejszy, ale większy stopień kompresji) SET CompressLevel = 5 REM Usunąć plik zip źródłowy po sukcesie?(1 = tak, 0 = nie) SET DeleteSourceOnSuccess = 1 REM ---- Nie modyfikuj niczego poniżej tej linii ---- SET ArchiveFile =% 1 SET DeepFile =% ArchiveFile:. zip =. 7z% SET tmpPath =%TEMP %% ~ nx1 SET tmpPathZip = "% tmpPath% *" SET tmpPath = "% tmpPath%" SET tmpFile = "% TEMP% tmpDeepArchive.txt" JEŚLI NIE EXIST% tmpPath%( MKDIR% tmpPath%) ELSE( RMDIR / S/ Q% tmpPath%) ECHO Archiwum wyodrębniające:% ArchiveFile% 7ZA x% ArchiveFile% -o% tmpPath% ECHO.Archiwum kompresujące ECHO:% DeepFile% 7ZA a -t7z -mx% CompressLevel%% DeepFile%% tmpPathZip% ECHO.IF{ % Validate%} =={ 1}( ECHO Sprawdzanie poprawności archiwum:% DeepFile% 7ZA t% DeepFile% | FIND / C "Wszystko w porządku" & gt;% tmpFile% SET / P IsValid = & lt;% tmpFile% IF!IsValid! == 0( Walidacja ECHO nie powiodła się! DEL / F / Q% DeepFile% ECHO, niepowodzenie GOTO) ELSE( zatwierdzono ECHO.) ECHO.) Sukces GOTO: Sukces 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

Linki

Pobierz DeepArchiveSkrypt z SysadminGeek.com

Pobierz narzędzie

7-Zip Command Line