Fehler bei include zip.au3

  • Grüß euch,

    ich möchte eine zip-Datei im Verzeichniss X in Verzeichniss Y entpacken, ohne dafür weitere Programme wie 7zip zu verwenden.
    Dabei bin ich auf "_Zip_UnzipAll" gestoßen. Ich dachte mir: "Super, wird das ja einfach gehen".
    Naja, ich bekomme immer folgende Fehlermeldung:


    test.au3 (3) : ==> Error opening the file.:
    #include<Zip.au3>

    Ich habe es schon mit #include<Zip.au3> und #include<zip.au3> versucht.
    Die Includeanweisung sowohl in der Funktion, als auch zu Anfang des Scripts geschrieben

    Ich habe keine Ahnung, wo der Fehler liegt.
    Hier der Code:

    Code
    #include<zip.au3>
    _Zip_UnzipAll(@ScriptDir & '\Programme\CR90RT.zip', 'C:\test', 4) 
    ConsoleWrite(@error & @CRLF)

    Ich habe einen Programme-Ordner bei meinem Script liegen, welche es automatisch installieren soll.
    Im Falle des einen, was als .zip vorliegt, soll ich den Ordner erst auf C:\ entpacken und dort die Installtion dann durchführen.

    Ich höffe ihr könnt mir da weiterhelfen.


    LG

    edit:
    Interessant ist auch, dass mir in der Autovervollständigung für _Zip.. keinerlei Vorschläge gemacht werden.
    Es scheint nicht in der Bibliothek zu sein. Muss ich diese Funktionen etwa erst manuell in Autoit einspeißen?

    Einmal editiert, zuletzt von Reiterfuchs (4. Dezember 2015 um 10:45)

  • Hallo,

    ich glaube dazu gab es schonmal etwas im Forum.
    Ich selbst benutze aber immer 7zip. Anbei mal ein Beispiel zum entpacken. Dazu lege ich dem Script die 7zip.exe oder dll mit Fileinstall bei.

    Gruß gmmg

  • Vielen Dank für die Antwort,

    allerdings erwähnte ich bereits, dass ich dies ohne externe Programme machen möchte. Deshalb hilft mir das nicht wirklich weiter.

    Es gab schonmal ein Thema dieser Art, da hast du recht. Das, und einige weitere Seiten, habe ich bereits gelesen.
    Doch bei mir scheint es so, als existiere dieser Befehl schlichtweg nicht und solch ein Problem konnte ich nirgends finden.

    Grüße

  • Du weist aber schon (ich frage nur nach, auf Grund Deiner geringen Beitragsanzahl), das die Funktion _Zip_UnzipAll() wahrscheinlich in der Datei 'Zip.au3' definiert sein wird und das Du diese Datei 'Zip.au3' im AutoIt-Include-Ordner oder dem aktuellen Script-Verzeichnis zur Verfügung stellen musst !?

    Zur Nutzung dieses Forum's, ist ein Übersetzer für folgende Begriffe unerlässlich:

    "On-Bort, weier, verscheiden, schädliges, Butten steyling, näckstet, Parr, Porblem, scripe, Kompletenz, harken, manuel zu extramieren, geckukt, würglich, excell, acces oder Compilevorgeng"

  • Natürlich weis ich das. Sonst wäre der includebefehl ja überflüssig.
    Ich frage eben nur, ob man das erstmeinmal manuell herunterladen muss, denn es scheint ja standartmäßig nicht zu existieren.

  • Schau mal im englischen Forum unter: KLICK

    Dort hat die UDF auch bereits ein _ am Anfang des Dateinamens, woran man meist erkennen kann, das sie keine Standard-UDF des AutoIt-Paketes ist.

    Zur Nutzung dieses Forum's, ist ein Übersetzer für folgende Begriffe unerlässlich:

    "On-Bort, weier, verscheiden, schädliges, Butten steyling, näckstet, Parr, Porblem, scripe, Kompletenz, harken, manuel zu extramieren, geckukt, würglich, excell, acces oder Compilevorgeng"

  • Ach, das ist interessant.
    Nur leider läuft die dort gepostete Datei bei mir nicht.
    Gibt es irgendwo eine UDF, die ich mir runterladen könnte, die auf jeden Fall funktioniert.

  • Test von _zip_count(), _zip_list() und _zip_unzipall() mit einem dafür erstellten einfachen (ohne Unterverzeichnisse) ZIP-Archives, zeigten unter Win7 x64 keine Probleme !

    Zur Nutzung dieses Forum's, ist ein Übersetzer für folgende Begriffe unerlässlich:

    "On-Bort, weier, verscheiden, schädliges, Butten steyling, näckstet, Parr, Porblem, scripe, Kompletenz, harken, manuel zu extramieren, geckukt, würglich, excell, acces oder Compilevorgeng"

  • Wurde Dein Problem gelöst? Dann sei doch bitte so nett und setze den Thread auf erledigt.


    Gruß
    Peter

    Hinweise auf Suchmaschinen finde ich überflüssig - wer fragt hat es nicht gefunden oder nicht verstanden. Die Antwort gibt sich oftmals schneller als der Hinweis auf Dr. Goggle & Co.

    Ab 19-10-22 ergänzt um:

    Die Welt wird nicht bedroht von den Menschen, die böse sind, sondern von denen, die das Böse zulassen. (Albert Einstein)

  • @Reiterfuchs

    Ich hatte mich auch mal Tage mit der Zip herumgeärgert und habe dann 7zip genommen.
    Ein großer Vorteil hier ist, du kannst auch andere gängige Formate entpacken und istalliert muss das Programm ja auch nicht sein, weil du die dll oder exe ja dem Script mitgeben kannst.

    Gruß gmmg :)

  • Nein, mein Problem wurde leider nicht gelöst.

    _zip...-Befehle funktionieren bei mir leider immer noch nicht und ich weiß nachwievor nicht, wie ich diese lauffähig machen kann. Muss ich dazu irgend eine zusätliche Datei in's AutoIt stecken?
    Eine genaue Beschreibung wie ich das zum laufen bekomme würde mir sehr helfen.

    Ich bitte euch, mir nicht wieder vorzuschlagen ein externes Programm wie 7zip zu nutzen. Ich weiß diese Tools sind gut, dennoch habe ich meine Gründe und habe bereits im Eröffnungsthread erwähnt, dass ich es gerne ohne machen würde.

    Dennoch Danke, an alle, die bisher versucht haben zu helfen. Ich hoffe, dass ich hierzu bald etwas schlauer bin.

    lg

  • Vielen Dank!

    Nein, das habe ich noch nicht probiert. Den Thread habe ich leider nicht gesehen, nur andere in Richtung des Themas.
    Zum Verständniss, für AutoIt-Anfänger: Ich muss die Datei "BuildInZIP.au3" wohin packen? Und der include-Befehl lautet dann auf den Dateinamen oder?

    lg

    • Offizieller Beitrag

    Ich muss die Datei "BuildInZIP.au3" wohin packen?

    Wenn du einen Ordner für eigene Includes in den Properties festgelegt hast - dann dorthin. Sonst: Wo immer du willst.

    Und der include-Befehl lautet dann auf den Dateinamen oder?

    wenn irgendwo abgespeichert: #include "C:\voller_Pfad\zur_Datei\Dateiname.au3"
    wenn im ScriptDir abgespeichert oder im registrierten Includepfad funktioniert es auch mit #include <Dateiname.au3>

  • Wenn ich den die Datei aus dem Anhang speichern will bekomme ich folgende Meldung:


    Fatal error: An error occured. Sorry.

    Information:
    ID: 9d8d5e86911efcc71aca7db3c39a3e9f4f3bc2f0
    Bitte teilen Sie dem Betreiber die oben stehende ID mit.
    Die Fehlermeldung kann mit dieser ID über „ACP » Protokoll » Fehler“ eingesehen werden.

    • Offizieller Beitrag

    Kann sein, dass der Anhang beim Forenumzug aufs neue Portal einen mitgekriegt hat.:S Habs gerade getestet, man kommt gar nicht zum Download, ist ein Datenbankfehler im Forum.
    Kopiere doch einfach die Funktion aus dem Thread direkt in dein Skript, sparst du dir auch das Include.

  • Okay.

    Nur die beiden Parameter $iIndexBase und $fOverwrite verstehe ich nicht so ganz.
    Was soll ich mit denen machen?


    Code
    _BuildInZIP('Programmpfad der zip-Datei', 'Zielort der entpacken Datei', True, $iIndexBase=1, $fOverwrite=True)

    Vielen Dank für deine Hilfestellung und deine Geduld

    lg

    • Offizieller Beitrag

    ; $iIndexBase Index Basis (erstes Element mit Pfad) des übergebenen Arrays (0 od.1)
    --> Ist optional, nur wenn mehrere Dateien in einem Array übergeben werden ist diese Angabe erforderlich
    --> Wird aber der nachfolgende Parameter $fOverwrite nicht mit dem Standardwert benutzt, muss $iIndexBase auf jeden Fall mit angegeben werden, da Parameter in der Reihenfolge ihrer Definition zu übergeben sind. Der Wert spielt dann aber keine Rolle.

    ; $fOverwrite Falls $sPath existiert ==> Überschreiben (Standard=True)
    --> Der voreingestellte Wert (True) überschreibt eine evtl. existierende Datei gleichen Namens
    --> Ist das nicht gewünscht, so muss dieser Parameter angegeben werden mit False

  • Es läuft!

    Ein herzliches Dankeschön nochmal.
    Eine letzte Frage habe ich dennoch:
    Soweit ich das mitbekommen habe soll man den Thread schließen. Wo ist den der Button dazu ;D

    lg