Zippen mit 7zip dll funktioniert nicht?

  • Hi Leute,

    ich würde gerne einen einzigen Ordner durch mein Script zippen lassen, aber bei mir Funktioniert das nicht wirklich...

    http://www.autoitscript.com/forum/index.php?showtopic=25984&st=0

    Mit den Sachen hab ichs versucht, also mit der Multiple_Zip.au3,
    allerdings Zippt er immer nur eine Datei, das script scheint sich auch aufzuhängen, weil ich die letzte MSGbox garnicht sehe.

    Hab bisschen gelesen aber finde keine Lösung für mein Problem :(
    Oder gibt es noch einen anderen Weg als 7zip?
    Vielleicht wisst ihr ja was :D

    mfg qon

    Einmal editiert, zuletzt von qon (10. Dezember 2007 um 19:29)

  • Ich nerv sicher langsam aber es funktioniert einfach nicht :(

    Hier mal der Code:

    [autoit]


    $zip = Chr(34) & @scriptdir & '\7z a -tzip' & Chr(34) & ' ' ; Pfad zu 7zip
    $archiv = 'archiv.zip ' ; Name des zu erstellenden ZIP-Archivs (anpassen)
    $pfad = Chr(34) & @ScriptDir & '\test\' & Chr(34); Verzeichnis das gepackt werden soll (anpassen)
    Runwait(@ComSpec & ' /c ' & $zip & $archiv & $pfad, @ScriptDir, @SW_Hide)

    [/autoit]

    Habs mal mit Anführungszeichen gemacht weil das bei cmd oft n problem ist wenn leerstellen auftreten.
    Hilft aber alles nichts :( Ich habe 2 dateien in meinem ordner test aber es passiert garnichts :(
    die exe und die dll sind natürlich auch im scriptordner..

    Weisst du wo drans liegt?

    mfG qon

    • Offizieller Beitrag

    Wenn Du 7z.exe und 7z.dll in Deinen Script-Verzeichnis liegen hast, dann geht das so:

    [autoit]


    $zip = '7z a -tzip ' ; Pfad zu 7zip
    $archiv = 'archiv.zip ' ; Name des zu erstellenden ZIP-Archivs (anpassen)
    $pfad = chr(34) & @ScriptDir & '\test\' & chr(34) ; Verzeichnis das gepackt werden soll (anpassen)
    RunWait(@ComSpec & ' /c ' & $zip & $archiv & $pfad, @ScriptDir, @SW_HIDE)

    [/autoit]

    Vorausgesetzt das Verzeichnis 'test' existiert in Deinem Scriptverzeichnis und es befinden sich dort auch Dateien drin.
    Und die Anführungszeichen sind doch bereits vorhanden. Da brauchst Du keine mehr einfügen.

    Edit: Ok, doch beim $pfad muss man noch Anführungszeichen einfügen, wegen den möglichen Leerzeichen. Da hast Du Recht.

  • DANKE!!! Funzt :P
    Jo hatte den ordner Test schon richtig platziert, allerdings:
    Es funktionierte bei mir nur mit Chr(34) :P
    Weil eben in dem Pfad zu dem Ordner ( also @scriptdir )in meinem Fall der Desktop wahr, und im Pfad zum Desktop sind leerstellen drin,
    also bsp: C:\Dokumente und Einstellungen\Maximilian\Desktop

    [autoit]


    $zip = '7z a -tzip ' ; Pfad zu 7zip
    $archiv = 'archiv.zip ' ; Name des zu erstellenden ZIP-Archivs (anpassen)
    $pfad = Chr(34) & @ScriptDir & '\test\' & Chr(34); Verzeichnis das gepackt werden soll (anpassen)
    RunWait(@ComSpec & ' /c ' & $zip & $archiv & $pfad, @ScriptDir, @SW_HIDE)

    [/autoit]

    mfG qon ( un nochmal danke )

  • Ich heisse qon :D

    Aber danke für den Tipp das die DLL wegbleiben kann.

    Sicher ist Huggy's Lösung auch gut bin aber mit der momentan total zufrieden, sie funktioniert un is net kompliziert :D

    mfg qon