Mit 7Zip Dateien beim archivieren ausschließen?

  • Hallo zusammen,

    ich hab das Problem, dass ich mit 7z (Konsole) es nicht schaffe, Dateien beim archivieren auszuschließen.
    Wobei folgendes geht: 7z a -i!*.txt test.zip <--- Weil sich 7z.exe und 7z.dll auch im selben Ordner befinden.

    Will ich aber in einem "entfernten Ordner" archivieren, z.B.
    7z a -i!*.txt C:\123.zip C:\Programme\Hier\Sind\Welche
    klappt es wiederum nicht.
    In diesem Fall archiviert er einfach alle Dateien im Ordner C:\Programme\Hier\Sind\Welche ohne auf die Beschränkung zu achten..

    Weiß jemand Rat?

  • gehts so?
    7z a -i!C:\Programme\Hier\Sind\Welche\*.txt C:\123.zip C:\Programme\Hier\Sind\Welche

  • hallo davor,

    -i! schließt nicht aus sondern die dahinter angegebenen ein.

    rein mit commandline und der normalen 7zip- version funktionieren dies bei mir:
    7z.exe a -tzip "C:\123.zip" -ir!"C:\Programme\Hier\Sind\Welche" -mx5 -y

    die umsetzung in autoit habe ich so (ich hatte die 7za.exe von http://downloads.sourceforge.net/sevenzip/7za457.zip eingesetzt) gemacht:

    [autoit]


    $suchordner="C:\Programme\Hier\Sind\Welche"
    $komprimiertedatei="C:\123.zip"
    $komprimierungslevel=5; bei zip 1,3,5,7,9

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

    EnvSet("file", $komprimiertedatei)
    EnvSet("compr", $komprimierungslevel)
    EnvSet("seek", $suchordner)

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

    RunWait(@ComSpec & " /c " & '7za.exe a -tzip -y "%file%" -ir!"%seek%"\*.txt -mx"%compr%"', @ScriptDir, @SW_HIDE)

    [/autoit]

    grüße

    vgun

  • @vgun- und im umkehrschluss schließt es alles aus, was nicht nach -i! steht :P
    Ich wollte natürlich einschließen und nicht ausschließen.

    Ich werd die Lösungen später zuhause mal testen.
    Danke euch beiden! :thumbup:


    //EDIT

    Hat wunderbar geklappt! Und zwar so:
    7z a -i!C:\Programme\Hier\Sind\Welche\*.txt C:\123.zip

    Danke euch vielmals!!

    Einmal editiert, zuletzt von Davor (24. Januar 2008 um 13:24)

  • Hm ok, das funktioniert jetzt..
    Aber leider funktioniert es nicht, wenn ich mehrere Dateiendungen einschließen will, also so:

    Code
    7z a -i@files.txt C:\123.zip C:\Programme\Hier\Sind\Welche

    Wobei der Inhalt von files folgendermaßen aussieht:
    *.pdf
    *.txt

    Hier archiviert das Programm wieder alle Dateien ohne einzuschränken.

    Habt ihr eine Idee?

  • hallo davor,

    ich verwende zum ausschließen von dateien bei 7z das x.

    wenn man den ort mit in dem listfile angibt dürfte es gehen. in deinem fall so:

    C:\Programme\Hier\Sind\Welche\*.txt
    C:\Programme\Hier\Sind\Welche\*.pdf

    meines wissens müssen leerzeichen im dateinamen/ pfad dabei nicht mit " gerahmt werden.

    für excluden müsste also dies funktionieren:

    7z a -tzip "C:\123.zip" -xr@listfile.txt -mx5 -y

    grüße

    vgun

  • ok jetzt hat es wirklich geklappt!
    Der Pfad in der files.txt musste mitgegeben werden.

    Danke dir!