Gibt es eine Möglichkeit viele einzelne Dateien in unterschiedliche ZIP Ordner zu konvertieren?

2 Antworten

Ich mache das mit 7zip:

@ECHO off
SETLOCAL enabledelayedexpansion

FOR %%x IN (%*) DO (
   ECHO Compress: "%%~x"
   "C:\Program Files\7-Zip\7z.exe" -r a "%%~x.7z" "%%~x" -mmt -mx9 >NUL
)

ECHO.
ECHO ready
PAUSE

Speichere als z.B. "Compress.bat" auf dem Desktop. Dann markiere die Files mit der Maus und ziehe sie auf die Batch Datei. Jedes File wird dann einzeln komprimiert an der gleichen Stelle, an der auch das Original steht.

Das geht im ZIP-Format ebenfalls: entweder füge "-tzip" als weiteren Switch ein, oder nimm ein anderes Zip-Programm, dass du per Batch aufrufen kannst.

mastermind824 
Fragesteller
 19.02.2022, 20:30

Hey ich habe es probiert, aber bei mir passiert leider nichts, wenn ich die Dateien dort einfüge und dann auf die Bat Datei ziehe. Ich habe mir auch 7zip heruntergeladen, weil ich davor WINRAR hatte, aber es geht noch immer nicht.

0
poseudonym  01.11.2022, 13:23
@mastermind824

Versuchst du es auf deinem privaten PC / Laptop oder einem Firmengerät? Wenn zweitens, dann ist mit hoher Wahrscheinlichkeit die Ausführung solcher Dateien gesperrt.

0
mjutu  01.11.2022, 13:28
@poseudonym

Hast du die folgenden Kommentare gelesen? Es funktionierte nicht, weil die ausgewählten Files nicht auf das Icon des BAT-Files gezogen wurden, sondern in den Editor, in dem das BAT-File bearbeitet wurde.

Nach dem das geklärt wurde, hat es auch funktioniert (siehe unten). Also sind BAT Files nicht blockiert.

1
mastermind824 
Fragesteller
 19.02.2022, 20:30

@ECHO off

SETLOCAL enabledelayedexpansion

FOR %%x IN (%*) DO (

  ECHO Compress: "%%~x"

  "D:\Desktop\Papier\Paper texture (1).jpg"

"D:\Desktop\Papier\Paper texture (2).jpg"

"D:\Desktop\Papier\Paper texture (3).jpg"

"D:\Desktop\Papier\Paper texture (4).jpg"

"D:\Desktop\Papier\Paper texture (5).jpg"

"D:\Desktop\Papier\Paper texture (6).jpg"

"D:\Desktop\Papier\Paper texture (7).jpg"

"D:\Desktop\Papier\Paper texture (8).jpg"

"D:\Desktop\Papier\Paper texture (9).jpg"

"D:\Desktop\Papier\Paper texture (10).jpg"

"D:\Desktop\Papier\Paper texture (11).jpg"" -r a "%%~x.7z" "%%~x" -mmt -mx9 >NUL

)

ECHO.

ECHO ready

PAUSE

0
mjutu  19.02.2022, 21:42
@mastermind824

Was ist das für ein Text? Hast du die Liste von Filenamen im Editor in den Code eingefügt? Das funktioniert natürlich nicht. Ziehe die Files nicht in den Editor, sondern auf das Icon des .bat Files.

0
mastermind824 
Fragesteller
 21.02.2022, 12:08
@mjutu

Das ist der Text von meiner Bat Datei. Wenn ich das mit genau dem gleichen Text wie von Dir oben mache steht da Pfad nicht gefunden. Mit folgendem habe ich schon versucht die dateien auf die Bat Datei zu ziehen:

0
mastermind824 
Fragesteller
 21.02.2022, 12:09
@mjutu

@ECHO off

SETLOCAL enabledelayedexpansion

FOR %%x IN (%*) DO (

  ECHO Compress: "%%~x"

  "C:\Program Files\7-Zip\7z.exe" -r a "%%~x.7z" "%%~x" -mmt -mx9 >NUL

)

ECHO.

ECHO ready

PAUSE

0
mjutu  21.02.2022, 12:20
@mastermind824
Das ist der Text von meiner Bat Datei.

Du hast also die Liste der Files in den Editor gezogen, in dem das Batch-Script geöffnet ist. Nein, so klappt das natürlich nicht.

Wenn ich das mit genau dem gleichen Text wie von Dir oben mache steht da Pfad nicht gefunden.

Denke daran, dass ich nicht sehen kann, was du genau machst. Wenn du was machst steht wo welcher Text?

Das gezeigte Batch-Script funktioniert, wenn man ein Icon eines Datei darauf zieht. Hast du denn 7zip an dieser Stelle installiert: C:\Program Files\7-Zip\7z.exe ? Verwendest du eventuell deutsche Pfadnamen? Dann versuche doch mal: "C:\Programme\7-Zip\7z.exe"

0
mastermind824 
Fragesteller
 21.02.2022, 12:36
@mjutu

Jetzt hat es funktioniert. Ich habe den Pfad von 7-Zip falsch angegeben. Vielen Dank! Eine kleine Frage noch undzwar gibt es auch eine BAT Datei dafür, wenn ich für jede dieser einzelnen ZIP Dateien noch eine gleiche Datei hinzufügen möchte?

1
mjutu  21.02.2022, 12:49
@mastermind824

Du hast also einen Ordner mit 7z Files und möchtest eine bestimmte Datei zu allen hinzufügen? Probiere mal:

@ECHO off
FOR %%F IN ("D:\Your\Folder\*.7z") DO (
   "C:\Programme\7-Zip\7z.exe" a "%%F" "C:\Your\File.jpg" -mmt -mx9 >NUL
)
0
mastermind824 
Fragesteller
 21.02.2022, 14:54
@mjutu

Als Beispiel ich habe eine Bild Datei und diese möchte ich zu 100 einzelnen ZIP Dateien, die sich alle in einem Ordner befinden einzeln einfügen. Kurz zur verständnis: Bei dem 1 Punkt ("D:\Your\Folder\*.7z") füge ich dann meinen Ordner ein und lasse das am Ende mit dem *.7z) stehen. Dann bei dem 2ten Punkt "C:\Programme\7-Zip\7z.exe" füge ich wieder den Pfad von 7ZIP ein und bei dem letzten Punkt "C:\Your\File.jpg" dann einfach die Datei die ich dementsprechend in alle ZIP Dateien einfügen möchte, richtig? Ich habe das so probiert und es geschieht nichts.

1
mjutu  21.02.2022, 15:15
@mastermind824

Korrekt: Man sieht nichts. Die Files sollten aber trotzdem eingefügt sein. Wenn du den Verlauf sehen möchtest:

@ECHO off
FOR %%F IN ("D:\Your\Folder\*.7z") DO (
   ECHO Processing: %%F
   "C:\Programme\7-Zip\7z.exe" a "%%F" "C:\Your\File.jpg" -mmt -mx9 >NUL
)

ECHO ready.
PAUSE
0
mastermind824 
Fragesteller
 21.02.2022, 23:57
@mjutu

Hmm okay bei mir tut sich da nicht viel. Es steht dort, dass ich eine Taste drücken soll und danach wurde nichts importiert. Folgendermaßen sieht das ganze bei mir aktuell aus:

@ECHO off

FOR %%F IN ("D:\Desktop\badges\*.7z") DO (

  ECHO Processing: %%F

  "C:\Program Files\7-Zip\7z.exe" a "%%F" "D:\Desktop\Zusatz digitale Produkte\Thank you!.jpg" -mmt -mx9 >NUL

)

ECHO ready.

PAUSE

0
mjutu  22.02.2022, 11:13
@mastermind824

Die Aufforderung eine Taste zu drücken kommt vom PAUSE-Befehl. "Danach" passiert also sowieso nicht, sondern wenn, dann davor.

Du kannst das "> NUL" löschen, um Fehlermeldungen von 7zip zu sehen. Der Ordner "D:\Desktop\badges\" enthält wie viele .7z Files?

0
mastermind824 
Fragesteller
 23.02.2022, 01:32
@mjutu

Hmm okay also, wenn ich das >NUL entferne bleibt alles gleich. Keine Fehlermeldung und auch keine importierte Dateien. Aktuell habe ich zum testen 4 ZIP Dateien in dem Ordner.

0
mjutu  23.02.2022, 10:12
@mastermind824

Wenn du "4 .zip"-Dateien im Order hast und das Script alle ".7z"-Dateien bearbeitet, ist es zu erwarten, dass nichts passiert.

Wenn du 7zip installiert hast, ist es effizienter mit dem 7z-Format zu arbeiten. Wenn du einen guten Grund hast bei zip bleiben zu wollen, kannst du das entsprechend anpassen:

@ECHO off
FOR %%F IN ("D:\Desktop\badges\*.zip") DO (
  ECHO Processing: %%F
  "C:\Program Files\7-Zip\7z.exe" a "%%F" "D:\Desktop\Zusatz digitale Produkte\Thank you!.jpg" -tzip >NUL
)

ECHO ready.
PAUSE
0
mastermind824 
Fragesteller
 24.02.2022, 01:05
@mjutu

Genau das war es Vielen Dank! Eine aller letzte Frage habe ich noch. Ich hoffe ich nerve Dich nicht 😅 Undzwar wenn ich jetzt zum Beispiel mehrere Dateien in einen ZIP Ordner fügen möchte kann ich die Pfade dann ganz einfach hintereinander anreihen?

0

Hallo Mjutu,

der Artikel ist leider schon etwas älter, aber ich hoffe dich noch erreichen zu können oder ggf. auch einen anderen der Meine Frage beantworten kann.

Die Batch funktioniert wunderbar! Tausend Dank dafür! Nun ist meine Frage jedoch, wie ich alle PDF`s mit einem PW versehen kann, dass auch gerne jedes Mal zuvor eingetragen werden muss (Bitte nur eine Abfrage für alle :-D )