Ordner aus dem Namen des Archivs erstellen

#1
Hallo zusammen!

Könnte mir bitte jemand mit der folgenden Aufgabe helfen? Ich muss bestimmte Dateien aus einem Archiv in einen Ordner entpacken, dessen Name genau so ist wie der Name des Archivs. Also zuerst muss der Ordner mit dem Namen des Archivs angelegt werden und dann eine bestimmte Datei in diesen Ordner kopiert werden.

Ich benutze eine bat-Datei mit dem folgenden Inhalt:

@echo off
for %%i in (*.zip) do unzip32 %%i *.jpg

Im Moment kann ich eine Datei nur entpacken. Aber wie erstelle ich einen Ordner, der genau so heißt wie das Archiv? Dabei muss ich beachten, dass es mehrere Tausende Archive sind..

Für jede Hilfe bin ich euch sehr dankbar!
 

German

Well-Known Member
c-b Experte
#2
Batch hat ja eigentlich nix mit VB(A) zu tun. Naja, egal ...
Ungetestet etwa so:
Code:
@echo off
for %%i in (*.zip) do (
  md "%%~ni"
  unzip32 "%%~i" "%%~ni\*.jpg"
)
Falls das so noch nicht funktioniert, verlinke mal auf die Kommandozeilenreferenz von diesem unzip32.
 
#3
Sorry, vielleicht habe ich das richtige Forum übersehen, wo man diese Frage einstellen kann. Ich dachte, das könnte man vielleicht auch mit VBS lösen.. Danke dir @German für deine Hilfe!! Ich werde den Code ausprobieren.
 
#4
Batch hat ja eigentlich nix mit VB(A) zu tun. Naja, egal ...
Ungetestet etwa so:
Code:
@echo off
for %%i in (*.zip) do (
  md "%%~ni"
  unzip32 "%%~i" "%%~ni\*.jpg"
)
Falls das so noch nicht funktioniert, verlinke mal auf die Kommandozeilenreferenz von diesem unzip32.
Leider wird Folgendes angezeigt:

e:\MT\test>test.bat
Archive: 1954741e-fc7a-4128-9a74-121e2d17a7c2.zip
caution: filename not matched: 1954741e-fc7a-4128-9a74-121e2d17a7c2/*.jpg

Im Archiv liegt eine Datei mit .jpg. @German könntest du mir bitte einen Tipp geben, weshalb die jpg-Datei nicht gefunden wird? Danke schön!
 

German

Well-Known Member
c-b Experte
#5
Tja, wie schon gesagt, ich kenne dieses unzip32 Tool nicht. Keine Ahnung von wo du es heruntergeladen hast und keine Ahnung welche Kommandozeilenoptionen es dafür gibt. Genau das war der Grund, warum ich dir geschrieben hatte, dass du hier mal auf eine Seite verlinken sollst, wo sich diese Informationen finden ...
 
#6
Kommandozeilenoptionen.JPG
@German vielleicht hilft dieser Screenshot? Allerdings konnte ich rauskriegen, wie ich bestimmte Dateien in einen Ordner entpacken kann:

Code:
@echo off
for %%i in (*.zip) do (
  md "%%~ni"
  unzip32 %%i *.jpg -d "%%~ni"
)
Jetzt habe ich folgendes Problem.. Ich will bestimmte Archive nur dann entpacken, wenn ein Ordner mit dem Namen des Archivs zuvor angelegt wurde (siehe Code oben). Wenn es keinen solchen Ordner gibt, dann soll nichts entpackt werden. Ich habe an Folgendes gedacht:

Code:
@echo off
for %%i in (*.zip) do (
  unzip32 %%i *.jpg -d "%%~ni"
)
Allerdings scheint die Option "-d" auch den Befehl zum Erstellen eines Ordners zu enthalten, obwohl in der Beschreibung steht, dass bei "-d" Dateien in einen vorhandenen Ordner entpackt werden. @German hast du vielleicht irgendeine Idee dazu? Würde dir sehr dankbar sein!
 
Oben