2015-01-26 28 views
16

W systemie Mac/Linux zip/rozpakowane pliki zabezpieczone hasłem Zip, używam: pocztowy:Polecenie 7-Zip do tworzenia i wypakowywania pliku ZIP chronionego hasłem w systemie Windows?

zip -P password -r encrypted.zip folderIWantToZip 

Rozpakuj:

unzip -P password encrypted.zip 

Jakie są równoważne polecenia w systemie Windows z linii poleceń (przy założeniu, że 7zip został zainstalowany)?

Prowadzę badania i okazało się, że szyfrowanie hasłem nie jest możliwe przy użyciu biblioteki Java zip4j. Również Windows nie ma wiersz polecenia zip jak Mac/Linux

+0

http://sevenzip.sourceforge.jp/chm/cmdline/syntax.htm – ben75

+0

Twoje ostatnie zdanie sugeruje, że faktycznie możesz chcieć zrobić to z Javy, co byłoby pytaniem programistycznym. Ale pytanie, które faktycznie zadałeś, nie jest i należy do SuperUser. –

+0

Googlers ... → proszę przestać wprowadzać _any_ zaufanie w hasło "ochrona" zip. Nie jest**. - rozważ 7zip lub może rar. –

Odpowiedz

34

Od http://www.dotnetperls.com:

7z a secure.7z * -pSECRET 

Gdzie:

7z  : name and path of 7-Zip executable 
a   : add to archive 
secure.7z : name of destination archive 
*   : add all files from current directory to destination archive 
-pSECRET : specify the password "SECRET" 

Aby otworzyć:

7z x secure.7z 

Następnie podać SECRET hasło

Uwaga: Jeśli hasło zawiera spacje lub znaki specjalne, a następnie umieszczenie go w parę cytatów

7z a secure.7z * -p"pa$$word @'|" 
+0

Czy można podać tajne hasło podczas otwierania, tak aby można je było wykonać jako jedno polecenie? Nie mam komputera z systemem Windows do przetestowania go obecnie – user3254893

+1

z przekierowaniem:

+0

świetnie, właśnie zaimplementowałem coś właśnie teraz przy użyciu [RoboTask Lite] (http://robotask.com/) do przesłania do chmury (welll 7zip pliku do folderu lokalnego, czyli zsynchronizowanego w chmurze) - klikając ikonę tacy przy użyciu tych parametrów. Przed ręcznym 7zip, i bardzo denerwuje i konieczności zmiany nazwy plików – ycomp

0

jestem może trochę późno, ale jestem obecnie próbuje opracować program, który może brutalnie wymusić archiwum zip zabezpieczone hasłem. Najpierw wypróbowałem wszystkie polecenia znalezione w Internecie, aby wyodrębnić je przez cmd ... Ale nigdy nie działało .... Za każdym razem, gdy próbowałem, wyjście cmd powiedział, że klucz był zły, ale było to w porządku. Myślę, że po prostu odłączyli tę funkcję w obecnej wersji.

Co zrobiłem, aby rozwiązać problem, to pobrać starszą wersję 7zip (4.?) I użyć go do wyodrębnienia poprzez cmd.

To polecenie: "C:/Program plików (86) /old7-zip/7z.exe" x -pKey "C:/YOURE_ZIP_PATH"

pierwsza wartość ("C:/Program Pliki (86) /old7-zip/7z.exe ") musi być ścieżką, na której został zainstalowany stary 7zip. X jest dla wyciągu i -p Dla ciebie jest hasło. Upewnij się, że wpisałeś hasło bez żadnych spacji za -p! Ostatnia wartość to archiwum zip do wyodrębnienia. Miejscem docelowym, w którym zostanie rozpakowany zip, będzie bieżąca ścieżka cmd. Możesz to zmienić za pomocą: cd YOURE_PATH

Teraz pozwolę wykonać to polecenie przez java przy pomocy moich próśb o hasło. Następnie sprawdzam strumień wyjściowy błędu cmd i jeśli jest on zerowy-> wtedy hasło jest poprawne!

0

Aby w pełni skryptów zautomatyzować:

Utwórz:

7z -mhc=on -mhe=on -pPasswordHere a %ZipDest% %WhatYouWantToZip% 

Rozpakuj:

7z x %ZipFile% -pPasswordHere 

(zależności, może trzeba: set path = C: \ Pliki programów \ 7-Zip;% Path%)

9

Ogólne Składnia:

7z a archive_name target parameters 

Sprawdź swój kierunek 7-Zip. W zależności od posiadanego wydania, 7z może być zastąpione przez 7za w składni.

Parametry:

  • -p szyfrować i poprosi o PW.
  • -pPUT_PASSWORD_HERE (zastępuje -p), jeśli chcesz zaprogramować PW bez podpowiedzi.
  • -mhe = na aby ukryć strukturę plików, w przeciwnym razie struktura plików i nazwy będą domyślnie widoczne.

Np. Spowoduje to wyświetlenie monitu o PW i ukrycie struktur plików:

7z a archive_name target -p -mhe=on 

Np. Brak podpowiedzi, widoczna struktura plików:

7z a archive_name target -pPUT_PASSWORD_HERE 

I tak dalej. Jeśli zostawisz puste pole target, 7z przyjmie * w bieżącym katalogu i domyślnie będzie je ponownie przywracać.