So fügen Sie den Kennwortbefehl in der zip-Datei hinzu

737
T.j

Ich habe unten ein Skript, das perfekt funktioniert. Alles, was ich brauche, ist ein Passwort und eine Verschlüsselung während der Komprimierung hinzuzufügen. Irgendeine Idee, wo ich den -p Befehl stelle, damit es funktioniert? Ich habe es versucht, aber es funktioniert nicht für mich.

@echo off setlocal enabledelayedexpansion  REM Define file and folder locations set BaseDir=D:\SourceTest set DestZip=D:\Destinationtest\BACKUP.zip set SevenZip=C:\Program Files\7-Zip\7z.exe  REM Zip all files and folders echo Getting time ... for /f "tokens=1-9" %%a in ('wmic.exe Path Win32_LocalTime Get Day^,DayOfWeek^,Hour^,Minute^,Month^,Quarter^,Second^,WeekInMonth^,Year ^| find /v ""') do ( set /a Line += 1 if "!Line!"=="1" (set VarA=%%a&set VarB=%%b&set VarC=%%c&set VarD=%%d&set VarE=%%e&set VarF=%%f&set VarG=%%g&set VarH=%%h&set VarI=%%i) if "!Line!"=="2" (set !VarA!=%%a&set !VarB!=%%b&set !VarC!=%%c&set !VarD!=%%d&set !VarE!=%%e&set !VarF!=%%f&set !VarG!=%%g&set !VarH!=%%h&set !VarI!=%%i) ) for %%a in (Month Day Hour Minute Second) do (if !%%a! LSS 10 set %%a=0!%%a!) set TimeStamp=%Year%%Month%%Day%_%Hour%%Minute%%Second%  echo Compressing '%BaseDir%' ... for %%a in ("%DestZip%") do (set DestZip=%%~dpna-%TimeStamp%%%~xa) "%SevenZip%" a -tzip "%DestZip%" -r "%BaseDir%\*.*" 
0

1 Antwort auf die Frage

2
Sandeep

Es wäre einfacher für Sie gewesen, wenn die Batchdatei richtig formatiert wäre. Die letzte Zeile dieser Batchdatei ist für die Ausführung der 7zBefehlszeile verantwortlich. Dies ist der Punkt, an dem Sie eine -pOption hinzufügen können .

"%SevenZip%" a -pYourPassword -tzip "%DestZip%" -r "%BaseDir%\*.*" 

Ich habe die Datei auch formatiert

@echo off  setlocal enabledelayedexpansion  REM Define file and folder locations  set BaseDir=D:\SourceTest  set DestZip=D:\Destinationtest\BACKUP.zip  set SevenZip=C:\Program Files\7-Zip\7z.exe  REM Zip all files and folders echo Getting time ...  for /f "tokens=1-9" %%a in ('wmic.exe Path Win32_LocalTime Get Day^,DayOfWeek^,Hour^,Minute^,Month^,Quarter^,Second^,WeekInMonth^,Year ^| find /v ""') do ( set /a Line += 1 if "!Line!"=="1" ( set VarA=%%a&set VarB=%%b&set VarC=%%c&set VarD=%%d&set VarE=%%e&set VarF=%%f&set VarG=%%g&set VarH=%%h&set VarI=%%i )  if "!Line!"=="2" ( set !VarA!=%%a&set !VarB!=%%b&set !VarC!=%%c&set !VarD!=%%d&set !VarE!=%%e&set !VarF!=%%f&set !VarG!=%%g&set !VarH!=%%h&set !VarI!=%%i )  ) for %%a in (Month Day Hour Minute Second) do ( if !%%a! LSS 10 set %%a=0!%%a! )  set TimeStamp=%Year%%Month%%Day%_%Hour%%Minute%%Second% echo Compressing '%BaseDir%' ...  for %%a in ("%DestZip%") do ( set DestZip=%%~dpna-%TimeStamp%%%~xa )  "%SevenZip%" a -pPassword@1 -tzip "%DestZip%" -r "%BaseDir%\*.*" 

Wenn ich versuche, die Ausgabedatei zu extrahieren, werden Sie nach einem Kennwort gefragt:

Um den Dateinamen zu verschlüsseln, müssen Sie eine -mhe=onOption zum Verschlüsseln des Datei-Headers hinzufügen . Diese Option funktioniert jedoch nicht mit dem zipFormat. Damit das 7zFormat funktioniert, nehmen Sie die folgenden Änderungen vor:

Zieldateiname ändern

set DestZip=D:\Destinationtest\BACKUP.7z 

Letzte Zeile bearbeiten

"%SevenZip%" a -mhe=on -pYourPassword "%DestZip%" -r "%BaseDir%\*.*" 

Nach diesen Änderungen werden Sie jedes Mal nach einem Kennwort gefragt.

Ich füge bereits '-p' in mein Skript ein, aber die Ergebnisdatei ist nicht durch ein Passwort geschützt. Sein "-p" -Befehl funktioniert nicht oder ich vermisse hier etwas. Ich habe auch Ihre Formatierung ausprobiert und als neue '.bat'-Datei gespeichert. Führen Sie ON ein, um das Scan-Laufwerk auszuführen, und geben Sie den Zugriffsfehler genau diesen einen https://paste.ubuntu.com/p/TbymKfbfQk/ an. T.j vor 5 Jahren 0
Ich verstehe, warum Sie Fehler erhalten. Ich habe den Code (letzte Zeile) aktualisiert. Beim Versuch, die Ausgabedatei zu extrahieren, wurde nach dem Kennwort gefragt. Ich verwende die 7zip 18 (x64) -Version. Sandeep vor 5 Jahren 0
Verdammt, alles was ich tue, ist offen zu versuchen und es zeigt die Dateien in der .zip-Datei, die funktionieren und fragen nach dem Pass, wenn ich sie extrahiere. Manchmal führt ein kleiner Fehler dazu, dass Sie wie die Hölle arbeiten. Danke Kumpel Prost. PS Die Dateinamen sind sichtbar, werden jedoch nicht extrahiert, wenn Sie das Kennwort eingeben, um die Dateinamen auszublenden T.j vor 5 Jahren 0
Ja, 7zip haben auch die Option, Dateinamen zu verschlüsseln, aber es funktioniert nicht im `zip`-Format. Für das Format "7z" können Sie den Namen der Sicherungsdatei als "BACKUP.7z" festlegen und die letzte Zeile als "% SevenZip%" aktualisieren. A -mhe = on -pPassword @ 1 "% DestZip%" -r "% BaseDir% \ *. * "` Sandeep vor 5 Jahren 0