2 Dateien mit demselben Namen mit 7-Zip verpacken - solange bis keine Dateien mehr im Ordner sind

  • Hallo liebe Leute,


    vielleicht kann mir hier jemand weiterhelfen.

    Ich wäre überglücklich, wenn das tatsächlich funktioniert:S.

    Folgendes würde ich gerne automatisieren:

    Vor mir habe ich einen Windows-Ordner mit z.B. 100 Dateien.

    Jeweils 2 Dateien haben immer denselben Dateinamen (nur der Dateityp ist verschieden).

    Beispiel: "Bild-1.jpg" und "Bild-1.png"

    Sprich, es gibt 50 Namens-Paare, die zueinander gehören.

    -Diese Paare möchte ich mit 7-Zip jeweils einzeln verpacken,

    sodass am Ende aus 100 Dateien 50 Zip-Ordner erstellt worden sind.

    - Diese Zip-Ordner sollen wiederum nach deren verpackten Dateien

    benannt werden (Beispiel: "Bild-1.jpg" und "Bild-1.png" zu "Bild-1.zip")

    -Und am besten beim Automatisieren die Original-Dateien

    erstmal bestehen lassen, falls etwas schief läuft.

    Das ist es schon.

    Ich hoffe, ich konnte einigermaßen verständlich machen,

    was ich möchte, :/sodass mir da jemand weiterhelfen kann.

    Über Anregungen und Code würde ich mich sehr sehr freuen.

    Vielen lieben Dank

    micci

  • Über Anregungen und Code würde ich mich sehr sehr freuen.

    Hier ein Beispiel :

    Die Zip-Datei im Anhang in ein Testverzeichnis entpacken (sie enthält das Skript, Testdaten und die 7-Zip-Komponenten). Es müssen x-mal zwei Dateien mit identischem Namen vorhanden sein, sonst nichts.

    Gruß Musashi

  • Hey Musashi,

    das ist ja wohl der Knaller.

    Vielen lieben Dank für deine so schnelle und

    umfassende Antwort. Bin platt.

    Ich werde das dann ausprobieren und

    dir berichten.

    Ich freue mich riesig. Das kannst du mir glauben.

    Denn ich hacke soo oft auf meinen Tasten rum,

    nur um in diesem Stil zu verpacken.

    Also nochmal. Ich bin dir sehr sehr dankbar

    dafür. Bist echt super!!!

    Liebe Grüße

    Micci

  • Also noch mal. Ich bin dir sehr sehr dankbar dafür.

    Kein Problem :).

    Du musst, wie beschrieben, selbst sicherstellen, dass immer Gruppen zu je 2 Dateien mit identischem Namen vorhanden sind. Die .zip Files stören nicht, die werden übergangen. Sollte aber z.B. eine einzelne .xyz Datei im Verzeichnis vorkommen, dann geht es nicht ! Natürlich lässt sich auch das berücksichtigen, aber das Skript ist ja weitgehend nur ein Entwurf.

    Gruß Musashi

    86598-musashi-c64-png

    "Am Anfang wurde das Universum erschaffen. Das machte viele Leute sehr wütend und wurde allenthalben als Schritt in die falsche Richtung angesehen."

  • Hey Musashi,

    ich habe es soeben mal ausprobiert.

    Leider klappt es nicht.;(

    Woran könnte es liegen?

    Ich habe zuerst den Ordner entpackt.

    Dann die beiden Anwendungen ausprobiert.

    Bei der "7zG.exe" springt ein kleines Fenster auf mit "Specify Command".

    Bei der "7za.exe" wird eine Art schwarzes DOS-Fenster aufgemacht,

    welches, so schnell wie es kam, wieder verschwand.

    Im Ordner "Miccipics" hat sich nichts getan - keine ZIP Dateien zu sehen.

    Liegt es daran, dass ich am Anfang mit dem Windows-Editor kurz in die Dateien schauen wollte.

    Habe z.B. "Micci-Zippen.au3" mit dem Editor geöffnet. Kann ich mir aber

    irgendwie nicht vorstellen.

    Oder wird 7zip auf meiner Festplatte nicht angesprochen oder ähnliches?

    Hilfe Hilfe Hilfe.:)

    Einen schönen Freitagabend wünsche ich dir.

    Vielen Dank und viele Grüße

    Micci

  • Habe z.B. "Micci-Zippen.au3" mit dem Editor geöffnet

    Schritt 1 : AutoIt downloaden und installieren ->

    https://www.autoitscript.com/cgi-bin/getfil…it-v3-setup.exe

    Schritt 2 : Die "erweiterte Version" des SciTE-Editors für AutoIt downloaden und installieren ->

    (diese Version ist ebenfalls kostenlos, bietet aber mehr Features als die Lite-Version)

    https://www.autoitscript.com/cgi-bin/getfil…iTE4AutoIt3.exe

    ==> jetzt hast Du eine geeignete Entwicklungsumgebung für AutoIt-Projekte

    Schritt 3 : (so habe ich das gemacht)

    Lege Dir ein Projektverzeichnis an, z.B. [Laufwerk]:\AutoIt\Projekte

    Dann einen Projektordner z.B. \Zip-Projekt anlegen und meine o.a. Datei dort entpacken

    (das ist nun der Basisordner für mein Beispiel)

    Schritt 4 : .au3 ausführen :

    Du kannst jetzt eine .au3-Datei durch Doppelklick öffnen, oder SciTE starten und das Skript laden.

    Um das Skript auszuführen hast Du mehrere Möglichkeiten :

    -> Du startest das Skript in Editor, wie von Oscar beschrieben, mit F5 (Run)

    ---> das Skript läuft innerhalb von SciTE

    -> Du 'kompilierst' das Skript mittels F7 (Build)

    ---> es wird eine .exe erzeugt, die auch auf Rechnern läuft wo kein AutoIt installiert ist.

    Anmerkung zu 7-Zip :

    Es gibt zwei 'stand-alone'-Versionen von 7-Zip :

    - 7za.exe (ohne Anzeige)

    - 7zG.exe (mit Fortschrittsbalken)

    Ich habe in meinem Beispiel 7zG.exe verwendet. Bei kleinen Dateien blinkt die Fortschrittsanzeige nur kurz auf, da 7-Zip in Millisekunden fertig ist. 7zG.exe ist also eher für größere Dateien geeignet.

    Du kannst auch 7za.exe verwenden, dann solltest Du statt @SW_SHOW aber :

    RunWait ($g_sCommand, $g_sSourceDir, @SW_HIDE)

    eintragen.

    Gruß Musashi

    86598-musashi-c64-png

    "Am Anfang wurde das Universum erschaffen. Das machte viele Leute sehr wütend und wurde allenthalben als Schritt in die falsche Richtung angesehen."

  • Erweiterung :

    Hier mal das Skript mit zusätzlichen (Fehler-)Meldungen für den Testbetrieb :

    Bei mir funktioniert alles, siehe \Miccipics =

    Fileliste

    Gruß Musashi

    86598-musashi-c64-png

    "Am Anfang wurde das Universum erschaffen. Das machte viele Leute sehr wütend und wurde allenthalben als Schritt in die falsche Richtung angesehen."

    2 Mal editiert, zuletzt von Musashi (29. Februar 2020 um 21:58) aus folgendem Grund: typo

  • Oh man, danke danke Euch.

    Ja, hätte ich auch mal selbst drandenken können.

    Hatte vor ca. 5 Jahren autoit benutzt.

    War jedoch nur etwas sehr simples, kleines,

    was ich mir da zurecht geschustert habe.

    Deswegen frage ich ja wegen der Sache auch

    euch Profis, weil ich nicht gerade der geborene Programmierer bin.

    @ Musashi: Vielen Dank nochmal für diese krasse Unterstützung

    und auch diese gut nachvollziehbar und strukturierte Antwort!

    Ich probiere es nochmal aus, dann sollte es

    ja auch funktionieren. :)

    Andere Frage:

    Wäre es super aufwendig etwas ganz bestimmtes aus allen betroffenen Dateinamen zu eleminieren?

    Beispiel: "Bild-Baum-01.jpg" und "Bild-Baum.png"

    Nun soll aus allen Dateinamen des "\Miccipics-Ordners" am Anfang des autoit-Programms der Zusatz "-01" gestrichen werden,

    sodass am Ende "Bild-Baum.jpg" und "Bild-Baum.png" übrig bleibt.

    Das war's dann aber auch wirklich mit der Fragerei. :)

    Vielen Dank nochmal und viele Grüße

    Micci

  • Beispiel: "Bild-Baum-01.jpg" und "Bild-Baum.png"

    Nun soll aus allen Dateinamen des "\Miccipics-Ordners" am Anfang des autoit-Programms der Zusatz "-01" gestrichen werden,

    Soll immer nur -01 entfernt werden, falls vorhanden (solche hard-gecodeten Sachen sind immer etwas unflexibel). Besser wäre eine Regel festzulegen, dass alles mit - und n Ziffern am Ende entfernt wird, also z.B. auch : -001, -02, -1234 usw. (in dieser Regel wäre -01 ja enthalten).

    Wäre das ein Problem für Dich ?

    86598-musashi-c64-png

    "Am Anfang wurde das Universum erschaffen. Das machte viele Leute sehr wütend und wurde allenthalben als Schritt in die falsche Richtung angesehen."

  • Ja, tatsächlich soll immer nur genau "-01" am Ende des Dateinamens

    entfernt werden, wenn es vorhanden ist.

    Das Problem ist, dass ich viel mit Zahlen am Ende der Dateinamen arbeite.

    Die würden dann ja leider alle mit entfernt werden.

    Beispiel-Dateinamen:

    "ireland-icon-4-01.jpg" und "ireland-icon-4.png"

    "ireland-icon-10-01.jpg" und "ireland-icon-10.png"

    "ireland-icon-12-01.jpg" und "ireland-icon-12.png"

    Außer die Regel arbeitet immer mit der 0 vorweg. Also 01,02,03,... oder 001,002,003,... aufwärts , aber nie 1,2,3,...

    Das ginge noch, da ich nicht mit 0 beginne, wenn ich Zahlen verwende.

    Zum Verständnis: Diese -01 ist nur ein Zusatz, was vom Grafikprogramm

    aufgrund der Nummer der Zeichenfläche vergeben wird.

    Sind also keine Ziffern, die meinerseits vergeben wurden.

    Nicht, dass du dich wunderst.

    Danke dir

    Micci

  • Diese -01 ist nur ein Zusatz, was vom Grafikprogramm aufgrund der Nummer der Zeichenfläche vergeben wird.

    Sind also keine Ziffern, die meinerseits vergeben wurden. Nicht, dass du dich wunderst.

    OK !

    Die Regel lautet demnach : "entferne -01 bis -09 am Ende des Dateinamens", falls die Grafiksoftware mehrere Sicherheitskopien anlegen sollte.

    Ein Punkt muss noch geklärt werden :

    Stelle Dir vor, Du hast eine Datei "Bild-Baum-01.jpg".

    Es wäre ja theoretisch möglich, dass bereits eine Datei "Bild-Baum.jpg" existiert. Würde man bei "Bild-Baum-01.jpg" die -01 entfernen, soll dann die Datei "Bild-Baum.jpg" überschrieben oder beibehalten werden ?

    Gruß Musashi

    86598-musashi-c64-png

    "Am Anfang wurde das Universum erschaffen. Das machte viele Leute sehr wütend und wurde allenthalben als Schritt in die falsche Richtung angesehen."

  • Hinweis : Ich habe micci in seiner PM mitgeteilt, dass ich eine flexiblere Version des Skriptes erstelle.

    Dies nur als Info an andere, damit wir uns keine unnötige Doppelarbeit machen ;)!

    Gruß Musashi

    86598-musashi-c64-png

    "Am Anfang wurde das Universum erschaffen. Das machte viele Leute sehr wütend und wurde allenthalben als Schritt in die falsche Richtung angesehen."

  • Ja, korrekt perfekt. An der Regel ist nichts zu beanstanden.:)

    Das theoretische Konstrukt würde bei mir in keinem Fall in Erscheinung treten.

    Sollte es doch mal der Fall sein, weil ich Blödsinn gemacht habe,

    dann würde ich "Überschreiben" vorschlagen, weil es sich letztlich nur um die gleiche

    Datei handelt.

    VIele Grüße

    Micci

  • Wow, das ist großartig.

    Ich habe die EXE gerade mal ausprobiert.

    Und was soll ich sagen, es geht über meine Erwartungen.

    So krass. Das Thema Automatisieren ist heftig.

    Und im übrigen funktioniert das ganze sogar mit dem -01 Anhang.

    Beispiel:

    "ireland-icon-4-01.jpg" und "ireland-icon-4.png" werden totzdem zusammengepackt.

    Das Thema hat sich also erledigt. Stark, oder?^^

    Tausend Dank nochmal!

    Viele Grüße

    Micci