Główna » jak » Z łatwością konwertuj wszystkie archiwa zip do archiwum 7z

    Z łatwością konwertuj wszystkie archiwa zip do archiwum 7z

    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, takich jak szybkość (w stosunku do innych formatów kompresji) i obsługę 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 ten 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 je udostępnia). Aby zaoszczędzić trochę miejsca, możesz przekonwertować archiwa zip do formatu 7z i ukryć je.

    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 widzisz, że istnieje wiele praktycznych aplikacji do tego.

    Scenariusz

    @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 Skrypt: 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ę archiwum jako 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) SET Zatwierdzenie = 0 REM Poziom kompresji: 1,3,5,7,9 (wyższy = wolniejszy, ale większy stopień kompresji) SET CompressLevel = 5 REM Usunąć źródłowy plik zip po powodzeniu? (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 Wydobywanie archiwum:% 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">% 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 

    Spinki do mankietów

    Pobierz DeepArchive Script z SysadminGeek.com

    Pobierz 7-Zip Narzędzie wiersza poleceń