hey Core'lers
Ich hab nochmal gesucht und habe die udf gefunden, ich hatte sie
vorher schon, woltle sie hier posten aber hatte die Creditz nicht mehr :)
Also hier ist mal der post :)
So heir habt ihr den Code im Spoiler :)
creditz gehen an Huggy
Quelle: Meine ZIP UDF - Skripte - .: autoit.de :. - Das deutsche AutoIt-Forum
MFg
xDrago
Ich hab nochmal gesucht und habe die udf gefunden, ich hatte sie
vorher schon, woltle sie hier posten aber hatte die Creditz nicht mehr :)
Also hier ist mal der post :)
€€:
Meine ZIP UDF
€€: Version 2 Mit ISO erzeugen / entpacken..nach bernd670's "Anleitung in einem Thread"...RAR entpacken geht auch , mit _extractAll, .rar schreiben aber nicht (ausser WinRar ist inst.)
Hi
es gibt ja viele ZIP lösungen, aber wirklich gefallen tut mir keine
ALso hab ich mir selber eine gebalstet, eine UDF, basierend auf 7zip!
es gibt derzeit 4 funcs, die da sind:
*) Datei in ein ZIP archiv
*) Ganzer Inhalt eines Ordners in ZIP archiv
*) Inhalt eines ZIP archives entpacken in Zielverz.
*) Inhalt anschauen vom ZIP archiv
genauer:
"Spoiler" ExtractAll($packed, $target) : Entpackt das archiv $packed ins verzeichniss $target
_FileToARchive($path, $packed) : Packt eine Datei in ein Archiv namens $packed ($packed muss der Zielpfad, also zb C:\Ziel.zip sein, Ausgabe ist ZIP Format!
_listArchive($packed) : Gibt den Inhalt und Infos der gepackten Datei zurück - als array! benutzung zb: _ArrayDisplay(_listArchive("C:\Programme\7-Zip\asd\222.zip"))
_dirToArchive($dir, $packed, $sub = 1) : Kopiert einen gesamten ordner - inklusive unterordner - des verzeichnisses $dir (ZB: C:\Programme\7-Zip) in das Archiv $packed!
WEnn KEINE unterordner kopiert werden sollen, so aufrufen: _DirToArchive("C:\Programme\7-Zip\, "C:\lol\lol.zip\, 0) !
hier der code (unten auch zum dowload mit 7z.exe und lizenz!)
"Spoiler" #cs
ZIP UDF by Huggy
+++++++++++++++++++++++++#########++++++++++ FUNKTIONEN ###############+++++++++++###############
_ExtractAll($packed, $target) : Entpackt das archiv $packed ins verzeichniss $target
_FileToARchive($path, $packed) : Packt eine Datei in ein Archiv namens $packed ($packed muss der Zielpfad, also zb C:\Ziel.zip sein, Ausgabe ist ZIP Format!
_listArchive($packed) : Gibt den Inhalt und Infos der gepackten Datei zurück - als array! benutzung zb: _ArrayDisplay(_listArchive("C:\Programme\7-Zip\asd\222.zip"))
_dirToArchive($dir, $packed, $sub = 1) : Kopiert einen gesamten ordner - inklusive unterordner - des verzeichnisses $dir (ZB: C:\Programme\7-Zip) in das Archiv $packed!
WEnn KEINE unterordner kopiert werden sollen, so aufrufen: _DirToArchive("C:\Programme\7-Zip\, "C:\lol\lol.zip\, 0) !
#ce
#include <File.au3>
#include <Array.au3>
DIM $array
DIM $datein
;############Bereit machen für Funktionen###############
if FileExists(@ScriptDir & "\7z.exe") Then
FileCopy(@ScriptDir & "\7z.exe", @TempDir & "\7z.exe")
Endif
FileInstall("C:\Programme\7-Zip\7z.exe", @TEmpDir & "\7z.exe") ; wenn Compiled, wird 7z.exe ins TempDir geschoben
sleep(50)
if FileExists(@TEmpDir & "\7z.exe") Then ; sollte es nicht compiliert sein, oder einfach ein fehler, dann schau in der Registry ob installiert
;nix ;P
Else
$pfad = RegRead("HKEY_LOCAL_MACHINE\SOFTWARE\7-Zip", "Path")
$check = FileCopy($pfad & "\7z.exe", @TempDir & "\7z.exe")
sleep(50)
If FileExists(@ScriptDir & "\7z.exe") AND if NOT FileExists(@tEmpDir & "\7z.exe")Then
FileCopy(@ScriptDir & "\7z.exe", @TempDir & "\7z.exe")
Else
MsgBox(0, "ERROR", "KONNTE 7z.exe nicht finden!")
Endif
EndIf
;####################Fertig für Funktionen###############
Func _ExtractAll($packed, $target)
FileWrite(@TEmpDir & "\7t.bat", "@Echo off" & @Crlf)
FileWrite(@TEmpDir & "\7t.bat", "7z.exe x -o"&$target&" " & $packed & @Crlf)
FileWrite(@TEmpDir & "\7t.bat", "exit" & @Crlf)
sleep(200)
Run(@TempDir & "\7t.bat", @TempDir)
EndFunc
Func _FileToArchive($path, $packed)
FileWrite(@TEmpDir & "\7z.bat", "@Echo off" & @Crlf)
FileWrite(@TEmpDir & "\7z.bat", "7z.exe a -tzip "& $packed &" " & $path & @Crlf)
Run(@TEmpDir & "\7z.bat", @tempdir)
EndFunc
Func _dirToArchive($dir, $packed, $sub = 1)
FileWrite(@TEmpDir & "\7a.bat", "@Echo off" & @Crlf)
if $sub <> 1 Then
FileWrite(@TEmpdir & "\list.txt", $dir & "\*.*")
Else
FileWrite(@TEmpdir & "\list.txt", $dir & "\*")
Endif
FileWrite(@TEmpDir & "\7a.bat", "7z.exe a -tzip "& $packed & " @list.txt")
Run(@TempDir & "\7a.bat", @TEmpDir)
sleep(10000)
FileDelete(@TempDir & "\*.bat")
EndFunc
Func _listArchive($packed)
sleep(500)
FileWrite(@TEmpDir & "\7w.bat", "@Echo off" & @Crlf)
FileWrite(@TEmpDir & "\7w.bat", "7z.exe l " & $packed &" >> " &@TempDir & "\archiv.txt")
sleep(100)
Run(@TEmpDir & "\7w.bat", @tempdir)
sleep(200)
_FileReadTOarray(@TempDir & "\archiv.txt", $array)
RETURN $array
EndFunc
FileDelete(@TempDir & "\*.bat")
FileDelete(@TempDir & "\*.txt")
Creditz: Huggy
So heir habt ihr den Code im Spoiler :)
creditz gehen an Huggy
Quelle: Meine ZIP UDF - Skripte - .: autoit.de :. - Das deutsche AutoIt-Forum
MFg
xDrago