Często zadawane pytania (FAQ)
- Użytkownik FAQ
- Deweloper FAQ
Użytkownik FAQ
Czy mogę używać 7-Zip w organizacji komercyjnej?
Tak, 7-Zip jest wolnym oprogramowaniem. Możesz go używać na każdym komputerze. Nie musisz się rejestrować ani płacić za 7-Zip.
Jak mogę ustawić skojarzenia plików dla 7-Zip w Windows 7 i Windows Vista?
Musisz uruchomić 7-Zip File Manager w trybie administratora. Kliknij prawym przyciskiem myszy na ikonę 7-Zip File Manager, a następnie kliknij Uruchom jako administrator.Wtedy możesz zmienić skojarzenia plików i kilka innych opcji.
Dlaczego archiwa 7z utworzone przez nową wersję 7-Zip mogą być większe niż archiwa utworzone przez starą wersję 7-Zip?
Nowe wersje 7-Zip (począwszy od wersji 15.06) domyślnie używają innej kolejności sortowania plików dla litych archiwów 7z.
Stara wersja 7-Zip (przed wersją 15.06) używała sortowania plików „według typu” („według rozszerzenia”).
Nowa wersja 7-Zip obsługuje dwa porządki sortowania:
- sortowanie według nazwy – porządek domyślny.
- sortowanie według typu, jeśli 'qs' jest określone w polu Parameters w oknie „Dodaj do archiwum”, (lub przełącznik -mqs dla wersji z wiersza poleceń).
Możesz uzyskać dużą różnicę w stopniu kompresji dla różnych metod sortowania, jeśli rozmiar słownika jest mniejszy niż całkowity rozmiar plików.Jeśli w różnych folderach znajdują się podobne pliki, sortowanie „według typu” może w niektórych przypadkach zapewnić lepszy stopień kompresji.
Zauważ, że sortowanie „według typu” ma pewne wady.Na przykład, woluminy NTFS używają sortowania „według nazwy”, więc jeśli archiwum używa innego sortowania, to prędkość niektórych operacji dla plików z nietypową kolejnością może spaść na urządzeniach HDD (HDD mają niską prędkość dla operacji „seek”).
Możesz zwiększyć stopień kompresji następującymi metodami:
- Zwiększ rozmiar słownika. Może to pomóc, gdy 'qs' nie jest używane.
- Wskaż 'qs' w polu Parameters (lub użyj przełącznika -mqs dla wersji z wiersza poleceń).
Jeśli uważasz, że nietypowa kolejność plików nie jest dla ciebie problemem, i jeśli lepszy stopień kompresji z małym słownikiem jest dla ciebie ważniejszy, użyj trybu 'qs'.
Dlaczego 7-Zip nie może otworzyć niektórych archiwów ZIP?
W 99% tych przypadków oznacza to, że archiwum zawiera nieprawidłowe nagłówki.Inne programy ZIP mogą otworzyć niektóre archiwa z niepoprawnymi nagłówkami, ponieważ te programy po prostu ignorują błędy.
Jeśli masz takie archiwum, nie dzwoń w tej sprawie do twórców 7-Zip, ale spróbuj znaleźć program, który został użyty do stworzenia archiwum i poinformuj twórców tego programu, że ich oprogramowanie nie jest kompatybilne z ZIP.
Istnieją również archiwa ZIP, które zostały zakodowane metodami nieobsługiwanymi przez 7-Zip, na przykład WAVPack (WinZip).
Dlaczego 7-Zip nie może otworzyć niektórych archiwów RAR?
7-Zip 9.20 obsługuje tylko formaty RAR 2/3/4 i nie obsługuje archiwów RAR5.Ale najnowsze wersje 7-Zip obsługują archiwa RAR5.
Dlaczego przy ekstrakcji archiwów metodą „przeciągnij i upuść” z 7-Zip do Eksploratora używane są pliki tymczasowe?
7-Zip nie zna ścieżki folderu docelowego, tylko Eksplorator Windows zna dokładny cel upuszczenia, a Eksplorator Windows potrzebuje plików (źródło przeciągania) jako zdekompresowanych plików na dysku.Więc 7-Zip wyodrębnia pliki z archiwum do folderu tymczasowego, a następnie 7-Zip powiadamia Eksploratora Windows o ścieżkach tych plików tymczasowych.Następnie Eksplorator Windows kopiuje te pliki do folderu docelowego zrzutu.
Aby uniknąć używania plików tymczasowych, możesz użyć polecenia Extract w 7-Zip lub przeciągnij i upuść z 7-Zip do 7-Zip.
Dlaczego wersja wiersza poleceń nie dodaje plików bez rozszerzeń do archiwum?
Prawdopodobnie używasz symbolu wieloznacznego *.*. 7-Zip nie używa parsera maski symboli wieloznacznych systemu operacyjnego i w konsekwencji traktuje *.* jak każdy plik z rozszerzeniem. Aby przetworzyć wszystkie pliki, musisz użyć symbolu wieloznacznego * lub pominąć go całkowicie.
Dlaczego przełącznik -r nie działa zgodnie z oczekiwaniami?
W większości przypadków nie potrzebujesz przełącznika -r.7-.Zip może kompresować podfoldery nawet bez przełącznika -r.
Przykład 1:
7z.exe a c:\a.7z "C:\Program Files"
Kompresuje całkowicie „C:\Program Files”, włączając w to wszystkie podfoldery.
Przykład 2:
7z.exe a -r c:\a.7z "C:\Program Files"
wyszukuje i kompresuje „Program Files” we wszystkich podfolderach C:™ (na przykład w „C:™WINDOWS”).
Jeśli chcesz skompresować tylko pliki z jakimś rozszerzeniem, możesz użyć przełącznika -r:
7z a -r c:\a.zip c:\dir\*.txt
Kompresuje wszystkie pliki *.txt z folderu c:dir i wszystkich jego podfolderów.
Jak mogę przechowywać pełną ścieżkę pliku w archiwum?
7-Zip przechowuje tylko względne ścieżki plików (bez prefiksu litery dysku).Możesz zmienić bieżący folder na taki, który jest wspólny dla wszystkich plików, które chcesz skompresować i wtedy możesz użyć ścieżek względnych:
cd /D C:\dir1\ 7z.exe a c:\a.7z file1.txt dir2\file2.txt
Dlaczego 7-Zip nie może używać dużego słownika w 32-bitowym Windowsie?
32-bitowy Windows przydziela tylko 2 GB wirtualnej przestrzeni na jedną aplikację. Ponadto ten blok o wielkości 2 GB może być pofragmentowany (na przykład przez jakiś plik DLL), więc 7-Zip nie może przydzielić jednego dużego ciągłego bloku przestrzeni wirtualnej. W 64-bitowym systemie Windows nie ma takich ograniczeń. Możesz więc używać dowolnego słownika w Windows x64, jeśli masz wymaganą ilość fizycznej pamięci RAM.
Jak zainstalować 7-Zip w trybie cichym?
Dla instalatora exe: Użyj parametru „/S”, aby wykonać cichą instalację oraz parametru /D=”C:\”Program Files\”, aby określić „katalog wyjściowy”. W tych opcjach rozróżniana jest wielkość liter.
Dla instalatora msi: Użyj parametrów /q INSTALLDIR=”C:™Program Files\7-Zip”.
Jak odzyskać uszkodzone archiwum 7z?
Istnieją pewne możliwe przypadki, gdy archiwum jest uszkodzone:
- Możesz otworzyć archiwum i widzisz listę plików, ale po naciśnięciu polecenia Wyodrębnij lub Przetestuj pojawiają się błędy: Data Error lub CRC Error.
- Po otwarciu archiwum pojawia się komunikat „Can not open file 'a.7z' as archive”
Możliwe jest odzyskanie niektórych danych. Przeczytaj o procedurze odzyskiwania:
Odzyskiwanie uszkodzonych archiwów 7z
FAQ dla programistów
Dlaczego występują błędy linkowania, gdy kompiluję 7-Zip lub LZMA SDK z Visual C++ 6.0?
Do kompilacji źródeł potrzebny jest Visual C++ 6.0 lub nowsza wersja. Niektóre pliki wymagają również nowego Platform SDK ze strony microsoft.com:
Jeśli używasz MSVC, określ katalogi SDK na górze listy katalogów „Include files” i „Library files”. Można je znaleźć w „Narzędzia / Opcje / Katalogi”.
Najnowszy Platform SDK nie jest kompatybilny z MSVC6. Musisz więc użyćWindows Server 2003 PSDK (luty 2003) z MSVC6.
Czy mogę użyć plików EXE lub DLL z 7-Zip w komercyjnej aplikacji?
Tak, ale musisz określić w swojej dokumentacji (1) że użyłeś części programu 7-Zip, (2) że 7-Zip jest na licencji GNU LGPL i (3) musisz podać link do www.7-zip.org, gdzie można znaleźć kod źródłowy.
Jak mogę dodać obsługę archiwów 7z do mojej aplikacji?
Jednym ze sposobów jest użycie 7z.dll lub 7za.dll (dostępne do pobrania z sf.net). 7za.dll działa poprzez interfejsy COM. Nie używa on jednak standardowych interfejsów COM do tworzenia obiektów. Mały przykład można znaleźć w folderze „CPP ®Client7z” w kodzie źródłowym. Pełnym przykładem jest sam 7-Zip, ponieważ 7-Zip działa również poprzez ten dll. Istnieją inne aplikacje, które używają 7za.dll, takie jak WinRAR, PowerArchiver i inne.
Innym sposobem jest wywołanie wersji z linii poleceń: 7za.exe.
Czy mogę użyć kodu źródłowego 7-Zip w komercyjnej aplikacji?
Ponieważ 7-Zip jest na licencji GNU LGPL, musisz przestrzegać zasad tej licencji. W skrócie oznacza to, że każdy kod na licencji LGPL musi pozostać na licencji LGPL. Na przykład, możesz zmienić kod z 7-Zip lub napisać wrapper dla jakiegoś kodu z 7-Zip i skompilować go do DLL; ale kod źródłowy tej DLL (włączając w to twoje modyfikacje/dodatki/ wrapper) musi być na licencji LGPL lub GPL.Każdy inny kod w twojej aplikacji może być licencjonowany jak chcesz.Ten schemat pozwala użytkownikom i programistom na zmianę kodu LGPL’ed i ponowną kompilację tej DLL. To jest właśnie idea wolnego oprogramowania. Czytaj więcej tutaj: https://www.gnu.org/.You można również przeczytać o LZMA SDK, który jest dostępny na bardziej liberalnej licencji.