7-Zip Archiv packen

  • Hi,
    ich will das Autoit automatisch für mich Ordner mit 7-Zip packt. Auf der suche im Internet bin ich auf diesen Quellcode getroffen. Allerding macht der bei mir nichts und ich wollt fragen ob ihr villt wisst warum.


    [autoit]

    $zip = 'C:\Programme\7-Zip' ; Pfad zu 7zip
    $archiv = 'C:\Dokumente und Einstellungen\Benutzer\Eigene Dateien\test.7zip' ; Name des zu erstellenden ZIP-Archivs (anpassen)
    $pfad = 'C:\Dokumente und Einstellungen\Benutzer\Eigene Dateien\test\' ; Verzeichnis das gepackt werden soll (anpassen)
    RunWait(@ComSpec & ' /c ' & $zip & $archiv & $pfad, @ScriptDir, @SW_HIDE)

    [/autoit]

    danke schonmal für die Hilfe.

    mfg

  • Lass dir mal den String ausgeben der da zusammengebastelt wurde:

    [autoit]

    MsgBox(0,"", @ComSpec & ' /c ' & $zip & $archiv & $pfad)

    [/autoit]


    Diesen Befehl ruft das Betriebssystem so wie er ist dann auf - kann also nie funktionieren.
    Lad dir also die Kommandozeilenversion von 7-Zip und schau dir dort in der mitgelieferten Hilfe die Aufrufparameter dafür an.
    Dann versuchst du den Aufruf erstmal per Hand zusammen zu basteln und auszuführen und erst wenn das klappt überträgst du das in AutoIt-Code.

  • Hab ich mir runtergeladen und entpackt aber wenn ich 7za.exe öffne dann öffnet sich nur kurz das cmd-Fenster und schließt sich wieder sofort.

  • 7za.exe ? , die heisst doch 7z.exe. und packen wäre dann [a]dd und nicht [code=c]ompress

    [autoit]

    $extractdir = "d:\test"
    FileChangeDir($extractdir)
    Run('D:\Tools\Packer\7-Zip\7z.exe x C:\Users\dr\Desktop\test\test_zip.zip' )

    [/autoit][autoit][/autoit][autoit]

    #cs
    D:\Tools\Packer\7-Zip>7z

    [/autoit][autoit][/autoit][autoit]

    7-Zip 4.42 Copyright (c) 1999-2006 Igor Pavlov 2006-05-14

    [/autoit][autoit][/autoit][autoit]

    Usage: 7z <command> [<switches>...] <archive_name> [<file_names>...]
    [<@listfiles...>]

    [/autoit][autoit][/autoit][autoit]

    <Commands>
    a: Add files to archive
    d: Delete files from archive
    e: Extract files from archive (without using directory names)
    l: List contents of archive
    t: Test integrity of archive
    u: Update files to archive
    x: eXtract files with full paths
    <Switches>
    -ai[r[-|0]]{@listfile|!wildcard}: Include archives
    -ax[r[-|0]]{@listfile|!wildcard}: eXclude archives
    -bd: Disable percentage indicator
    -i[r[-|0]]{@listfile|!wildcard}: Include filenames
    -m{Parameters}: set compression Method
    -o{Directory}: set Output directory
    -p{Password}: set Password
    -r[-|0]: Recurse subdirectories
    -scs{UTF-8 | WIN | DOS}: set charset for list files
    -sfx[{name}]: Create SFX archive
    -si[{name}]: read data from stdin
    -slt: show technical information for l (List) command
    -so: write data to stdout
    -t{Type}: Set type of archive
    -v{Size}[b|k|m|g]: Create volumes
    -u[-][p#][q#][r#][x#][y#][z#][!newArchiveName]: Update options
    -w[{path}]: assign Work directory. Empty path means a temporary directory
    -x[r[-|0]]]{@listfile|!wildcard}: eXclude filenames
    -y: assume Yes on all queries

    [/autoit][autoit][/autoit][autoit]

    D:\Tools\Packer\7-Zip>7z.exe x C:\Users\dr\Desktop\test\test_zip.zip

    [/autoit][autoit][/autoit][autoit]

    7-Zip 4.42 Copyright (c) 1999-2006 Igor Pavlov 2006-05-14

    [/autoit][autoit][/autoit][autoit]

    Processing archive: C:\Users\dr\Desktop\test\test_zip.zip

    [/autoit][autoit][/autoit][autoit]

    Extracting test_zip\g2v_cmds.tgz

    [/autoit][autoit][/autoit][autoit]

    Everything is Ok

    [/autoit][autoit][/autoit][autoit]

    D:\Tools\Packer\7-Zip>
    #ce

    [/autoit]

    Viel Spass (mit den restlichen Schaltern)
    @comspec... ist imho über

    P.S.: Ohne Angabe wird in das WorkingDir entpackt

    Gruß Dietmar

    Edit: kürzer und unsichtbar

    [autoit]

    Run('D:\Tools\Packer\7-Zip\7z.exe x C:\Users\dr\Desktop\test\test_zip.zip',"d:\test",@SW_HIDE )

    [/autoit]

    Achtung Anfänger! :whistling:

    Betrachten des Quellcodes auf eigene Gefahr, bei Übelkeit,Erbrechen,Kopfschmerzen übernehme ich keine Haftung. 8o

    5 Mal editiert, zuletzt von Dietmar (20. Januar 2011 um 11:14)

  • Zitat

    7za.exe ? , die heisst doch 7z.exe. und packen wäre dann [a]dd und nicht [code=c]ompress

    Die 7ta.exe war beim Kommandozeilenversion von 7-Zip dabei.


    edit: hat geklappt Danke :)

    Einmal editiert, zuletzt von Snakey (20. Januar 2011 um 11:33)

  • Na denn, bei war die 7z.exe in der Defaultinstallation enthalten und auch die ist Kommandozeilen geeignet.

    Achtung Anfänger! :whistling:

    Betrachten des Quellcodes auf eigene Gefahr, bei Übelkeit,Erbrechen,Kopfschmerzen übernehme ich keine Haftung. 8o

  • ich machs immer so!

    beispiel ist für das entpacken.

    [autoit]


    FileInstall("D:\Data\scripte\zip\7z.exe", "C:\TEMP\7z.exe", 1)
    FileInstall("D:\Data\scripte\zip\7z.dll", "C:\TEMP\7z.dll", 1)

    [/autoit][autoit][/autoit][autoit]

    $Archive1 = "V:\test.zip"
    $Output1 = "C:\Programme\test\"

    [/autoit][autoit][/autoit][autoit]

    RunWait(@ComSpec & " /c " & "C:\TEMP\7z.exe x " & '"' & $Archive1 & '"' & " -aoa -y -o" & '"' & $Output1 & '"')

    [/autoit]

    gruß gmmg

  • Wozu

    [autoit]

    @ComSpec & " /c " &

    [/autoit]

    8o ???

    Achtung Anfänger! :whistling:

    Betrachten des Quellcodes auf eigene Gefahr, bei Übelkeit,Erbrechen,Kopfschmerzen übernehme ich keine Haftung. 8o