7zip & @MyDocumentsdir ?

  • Hallo,

    mit dem funktionierendem Beispiel wird ein Ordner der Festplatte gepackt (7zip) und mit FileMove/@MyDocumentsdir in die Eigenen Dateien verschoben bzw. kopiert und gelöscht. :D

    Ist es möglich gleich in die Eigenen Dateien (@MyDocumentsdir) packen zulassen ? :?:?(

    Spoiler anzeigen
    [autoit]


    RunWait(@ComSpec & ' /c ' & "7za.exe a -tzip " & "C:\Test-0" & @WDAY & ".zip " & _
    "C:\AnfangsOrdner", @ScriptDir, @SW_MINIMIZE) ;FUNCTIONIERT

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

    FileMove("C:\Test-0" & @WDAY & ".zip ", @MyDocumentsdir & "\My TestOrdner\", 1+8) ;FUNCTIONIERT AUCH

    [/autoit]

    Danke

    Man liest sich...
    Euer Ritzelrocker04

  • Kann es sein, das Dein '@MyDocumentsDir' Leerzeichen enthält ?

    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"

  • Wie folgt KÖNNTE es funktionieren:

    [autoit]

    RunWait(@ComSpec & ' /c ' & "RDsys/7za.exe a -tzip " & chr(34) & _
    @MyDocumentsdir & "\Test-0" & @WDAY & ".zip" & chr(34) & _
    " C:\$$", @ScriptDir, @SW_MINIMIZE)

    [/autoit]

    KÖNNTE aus folgenden Gründen:
    - ich habe kein 7za.exe auf meinem PC
    - das alte PKZIP was ich zum Testen benutzt habe, weigert sich Ordner mit mehr wie 8 Zeichen zu benutzen


    Wenn man die Variablen wie @MyDocumentsDir, @TempDir, @UserProfileDir, u.s.w. am besten den kompletten String immer in Anführungszeichen ( chr(34) ) packen. Wer weiß wo der Ordner beim ausführenden User liegt.

    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"

  • hallo ritzelrocker,

    Bei mir hat der Umweg über envset funktioniert:

    [autoit]


    $7zaOrdner="D:\ordner mit leerzeichen"
    $AusgabeDatei ="Ausgabe Datei.7za"
    $CompressLevel=1
    EnvSet("file", $AusgabeDatei)
    EnvSet("compr", $CompressLevel)
    EnvSet("comprdat", $7zaOrdner & "\zu kompr daten")
    RunWait(@ComSpec & " /c " & '7za.exe a -t7z -y "%file%" "%comprdat%\*" -mx"%compr%" -mson', $7zaOrdner, @SW_HIDE)

    [/autoit]

    grüße vgun

  • hallo ritzelrocker04,

    wenn du (aus dem beispiel mit envset)
    $AusgabeDatei =@MyDocumentsDir & "\Ausgabe Datei.7za"
    so anpasst, dann packt 7za das bei dir nicht direkt in @MyDocumentsDir?

    grüße
    vgun

  • Hi Ritzel,

    Bei mir funktioniert es so einwandfrei ! :!:

    [autoit]

    Run(@DesktopDir & '\7za457\7za.exe a -tzip "' & @MyDocumentsDir & '\Ritzelrocker.zip" "' & @DesktopDir & '\UnRARDLL"', @MyDocumentsDir)

    [/autoit]


    @WorkingDir muss immer dort sein wo Du das Archiv erstellen möchtest, also in diesem Falle @MyDocumentsDir.

    Gruß
    Greenhorn


  • Hi, vll funzt die ja:

    Spoiler anzeigen
    [autoit]


    ;===============================================================================
    ;
    ; Function Name: _zip()
    ; Description: Zip's a given Folder
    ; Parameter(s): $sZipname - The Archivename the .zip file should have
    ; $sFoldertozip - The Directory/Folder to zip
    ; Requirement(s): 7z.exe - The SevenZip Console in Scriptdirectory
    ; Return Value(s): On Success - Returns 1
    ; On Failure - Returns 0 and sets @error
    ; 1 - 7z.exe is not in script directory
    ; 2 - Folder to zip does not exist
    ; 3 - Could not zip the file
    ; Author(s): qon
    ;
    ;===============================================================================

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

    Func _zip($sZipname,$sFoldertozip)
    If Fileexists(@scriptdir & "\7z.exe") <> 1 Then Seterror(1,0,0)
    IF Fileexists($sFoldertozip) = 0 Then Seterror(2,0,0)
    RunWait(@ComSpec & ' /c ' & '7z a -tzip ' & $sZipname & " " & Chr(34) & $sFoldertozip & "\" & Chr(34), @ScriptDir,@sw_hide)
    IF @error <> 0 Then Seterror(3,0,0)
    EndFunc

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

    ;_zip("test.zip",@scriptdir & "\test")

    [/autoit]
  • Ich hab da mal ne alolgemeine Frage: Was habt ihr immer mit den Leerzeichen? In der cmd ist es wurscht ob Leerzeichen drin sind, oder nicht, zumindest bei mir (WinXP pro 32-bit)

    Projekte: Keine größeren (und fertigen)
    Gegen Internetzensur:
    https://epetitionen.bundestag.de/index.php?acti…s;petition=3860
    (Zeichnungsfrist abgelaufen)
    __________________________________________________________________________________________________________________________________
    Dieser Beitrag wurde bereits 264 mal editiert, zuletzt von »Fast2« (30. Februar 2009, 12:99)

  • Ist nicht wurscht ;) aber so garnicht wurscht.

    Erstell dir mal auf c:\ einen ordner mit dem namen "test ordner" darin eine datei "test datei.txt"

    Dann geh start -> ausführen -> cmd.exe, dann gibst du ein:

    del c:\test ordner\test datei.txt

    wird er nicht finden
    dann gib das ein:

    del "c:\test ordner\test datei.txt"

    ;)


    edit Ritzelrocker:

    danke danke ;) bin aber noch am üben :P

    Einmal editiert, zuletzt von qon (8. Januar 2008 um 17:51)

  • Hi Greenhorn,

    wie versprochen habe ich mich mit den Zeilen befasst und sie funktionieren. Meine angepasste Lösung ist im Spoiler. :rolleyes:

    Doch wo Licht, da ist auch Schatten !
    Die eigentlich gut funktionierende Zeile verrichtet ihren Dienst auf einem USB-Stick nur bei Vergabe fester Pfade (zB. L:\ ). So bringt die Lösung auch eine neue Frage mit und ich kann es mir aussuchen, ob ich nun gleich mein Eingangsbeispiel nehme oder nach dem LW-Buchstaben suchen lassen will ? ?(

    [autoit]


    RunWait('RDsys\7za.exe a -tzip "' & @MyDocumentsDir & '\My TestOrdner\Ritzelrocker-0"' & @WDAY & '".zip" "' & _
    '"C:\$$"', @MyDocumentsDir) ;FUNCTIONIERT AUCH

    [/autoit]

    Danke

    Man liest sich...
    Euer Ritzelrocker04