Ich möchte mit AutoIT ein Zip-Archiv automatisch erstellen.
Inzwischen habe ich mich mit der
vertraut gemacht.Ich weiß auch schon wie ich eine Datei in ein Archiv hinzufüge. Doch nur sehr umständlich:PHP Code:
_Zip_UnzipALL(@ScriptDir & "\Test.zip",@ScriptDir & "\Test.zipUNZIPPED")
FileCopy(******,@ScriptDir & "\Test.zipUNZIPPED")
_Zip_Create(@ScriptDir & "\Test.zip")
_Zip_AddFolder(@ScriptDir & "\Test.zip",@ScriptDir & "\Test.zipUNZIPPED\")
Ich hab den Auszug aus der Zip.au3 (UDF) mal reingeschrieben.
Ich sehe keine Möglichkeit die Files in einen Subfolder zu kopieren durch diese Funktion.
PHP Code:
; Function Name: _Zip_AddFile()
; Description: Add a file to a ZIP Archieve.
; Parameter(s): $hZipFile - Complete path to zip file that will be created (or handle if existant)
; $hFile2Add - Complete path to the file that will be added
; $flag = 1
; - 0 ProgressBox
; - 1 no progress box
; Requirement(s): none.
; Return Value(s): On Success - 0
; On Failure - sets @error 1~3
; @error = 1 no Zip file
; @error = 2 no dll
; @error = 3 dll isnt registered
; On Failure - Returns False
; Author(s): torels_
; Notes: The return values will be given once the compressing process is ultimated... it takes
some time with big files
_Zip_AddFolderContents() added nur den Inhalt des Ordners der angegeben wurde und das auch nur in den Mainfolder des Archivs.Quote:
ICh hab mic auch noch nicht viel mit der Zip.au3 beschäftigt. Jedoch sollte "_Zip_AddFolderContents()" doch die Lösung sein oder nicht?
Mein Problem ist nur, das ich eine Datei habe, die schon Dateien enthält. Ich will mit AutoIt nur eine Datei in das bestehende Archiv hinzufügen. Nur muss diese Datei in einen Subfolder. Wenn ich jetzt die Datei außerhalb des Archivs in den Ordner mache und dann den ganzen Ordner adde, sagt er, das der Ordner bereits existiert. Und selbst wenn man den Ordner einfügt, sind ja die anderen Subfolder aus dem Ordner weg. Also suche ich eine Möglichket ohne das komplette Archiv zu entpacken, die Dateien reinzukopieren und dann den Ordner wieder zu komprimieren, eine Datei in einen Subfolder hinzuzufügen.Quote:
Ansonsten kannst du auch die Dateien in den Ordner reinkopieren, der dann der SubFolder sein soll und kopierst direkt den Ordner mit den Dateien.
Ach ja, das funktioniert nicht:
PHP Code:
_Zip_AddFile(@ScriptDir & "\Test.zip\Folder\Subfolder1\","@ScriptDir & "\Test.txt")
Wie kann ich der rar.exe sagen was sie tun soll. Durch Call() oder wie?
Hier nochmal die ganze Zip.au3 zum nachlesen:






