WinRar Script zum packen hilfeee

  • Hallo An Alle Auto-It Profis Und Bastler

    Habe Mir Seit Tagen Die Augen Wund Gelesen Und Bin Keinen Schritt Weiter...

    Ich Brauche Folgende Hilfe...

    Ich mache sehr viele uploads und daher bin ich am packen ohne ende mit WinRar (Lizensiert)

    Ich versuche einen script zu schreiben bei dem ich eine datei bzw. einen ordner auswaehle
    diese datei oder dieser ordner soll dann z.b. in 200mb grosse parts im ausgangsordner gepackt werden...

    d.h. z.B.

    D:/Downloads/Filme/blabla.avi

    soll also in D:/Downloads/Filme/

    blabla.rar.part1 200mb
    blabla.rar.part2 200mb
    blabla.rar.part3 200mb
    blabla.rar.part4 80mb

    oder

    ich will den Ordner FILME in D:/Downloads/ packen

    dann also

    D:/Downloads/
    Filme.rar.part1 200mb
    Filme.rar.part2 200mb
    Filme.rar.part3 200mb
    Filme.rar.part4 200mb
    Filme.rar.part5 200mb
    Filme.rar.part6 200mb
    Filme.rar.part7 75mb

    wie mache ich das... oder hat jemand einen fertigen script...
    habe mich tot gesucht und gelesen...

    vielen dank an alle die helfen

    BuLuT

  • Filme hochladen ist illegal.
    Es heißt "EIN Script", nicht "einen Script".
    Falls es doch legal ist diese Filme hochzuladen, weil du die Urheberrechte besitzt, dann schau in die WinRar Hilfe und schau dir den Befehln

    [autoit]

    ShellExecute()

    [/autoit]


    in der AutoIt Hilfe an.[MSIE_newline_end ]

  • ähm so wie sich das anhört willst dus ja nicht unbedingt selbst scripten.
    könntest dir mal alternativen zu winrar ansehn. z.B. 7zip

    wenn du doch selbst rumbasteln willst dann würd ich dir die 7zip dll empfehlen.
    schau dich hier um:
    http://www.autoitscript.com/forum/index.php?showtopic=25984&st=0

  • Hier ein Beispiel nach Deiner Beschreibung. Ich hatte einen großen Teil schon fertig liegen:

    Spoiler anzeigen
    [autoit]

    Global Const $DIR_Flag_Desktop = 0 ; Desktop
    Global Const $DIR_Flag_Programme = 2 ; Programme
    Global Const $DIR_Flag_Systemsteuerung = 3 ; Systemsteuerung
    Global Const $DIR_Flag_Drucker = 4 ; Drucker
    Global Const $DIR_Flag_EigeneDateien = 5 ; Eigene Dateien
    Global Const $DIR_Flag_Favoriten = 6 ; Favoriten
    Global Const $DIR_Flag_Autostart = 7 ; Autostart
    Global Const $DIR_Flag_Recent = 8 ; Recent (Inhalt des Dokumente-Menüs)
    Global Const $DIR_Flag_SendenAn = 9 ; Senden an
    Global Const $DIR_Flag_Papierkorb = 10 ; Papierkorb
    Global Const $DIR_Flag_Startmenue = 11 ; Startmenü
    Global Const $DIR_Flag_DesktopOrdner = 16 ; Desktop-Ordner
    Global Const $DIR_Flag_Arbeitsplatz = 17 ; Arbeitsplatz
    Global Const $DIR_Flag_Netzwerkumgebung = 18 ; Netzwerkumgebung
    Global Const $DIR_Flag_OrdnerNetzwerkumgebung = 19 ; Ordner Netzwerkumgebung
    Global Const $DIR_Flag_Schriftarten = 20 ; Schriftarten
    Global Const $DIR_Flag_Vorlagen = 21 ; Vorlagen
    Global Const $DIR_Flag_StartmenueAlle = 22 ; Startmenü für Alle Benutzer
    Global Const $DIR_Flag_ProgrammeAlle = 23 ; Programme für Alle Benutzer
    Global Const $DIR_Flag_Programme2 = 24 ; Startmenü für Alle Benutzer
    Global Const $DIR_Flag_Desktop2 = 25 ; Desktop für Alle Benutzer
    Global Const $DIR_Flag_Anwendungsdaten = 26 ; Anwendungsdaten
    Global Const $DIR_Flag_PrintHood = 27 ; PrintHood
    Global Const $DIR_Flag_FavoritenAlle = 31 ; Favoriten für Alle Benutzer
    Global Const $DIR_Flag_TemporaereInternetdateien = 32 ; Temporäre Internetdateien
    Global Const $DIR_Flag_Cookies = 33 ; Cookies
    Global Const $DIR_Flag_Verlauf = 34 ; Verlauf
    Global Const $BIF_BROWSEFORCOMPUTER = 0x1000 ; Only return computers
    Global Const $BIF_BROWSEFORPRINTER = 0x2000 ; Only allow the selection of printers
    Global Const $BIF_BROWSEINCLUDEFILES = 0x4000 ; The browse dialog box will display files as well as folders
    Global Const $BIF_DONTGOBELOWDOMAIN = 0x2 ; Do not include network folders below the domain level
    Global Const $BIF_EDITBOX = 0x10 ; Include an edit control in the browse dialog box
    Global Const $BIF_USENEWUI = 0x40 ; Use New Style (> Windows 2000)
    Global Const $BIF_RETURNONLYFSDIRS = 0x1 ; Only return file system directories
    Global Const $BIF_ALLOLDSTYLEFLAGS = BitOR ($BIF_BROWSEFORCOMPUTER, $BIF_BROWSEFORPRINTER, $BIF_BROWSEINCLUDEFILES, $BIF_DONTGOBELOWDOMAIN, $BIF_EDITBOX, $BIF_RETURNONLYFSDIRS, $BIF_USENEWUI)

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

    ; Wähle Dateien und Ordner mit einer Auswahl
    $FileDir = _FileSelectFolder("Was soll gepackt werden ?",$DIR_Flag_Arbeitsplatz,$BIF_BROWSEINCLUDEFILES + $BIF_USENEWUI + $BIF_EDITBOX)

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

    ; Setze Ausgabenamen zusammen
    If StringInStr(FileGetAttrib($FileDir),"D") Then
    $sOut = $FileDir & ".rar"
    Else
    If StringInStr(StringRight($FileDir, 4), ".") Then
    $sOut = StringLeft($FileDir, StringInStr($FileDir, ".", "", -1) - 1) & ".rar"
    Else
    $sOut = $FileDir & ".rar"
    EndIf
    EndIf

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

    ; Packe in 200MB Archive
    RunWait("C:\Programme\WinRAR\Rar.exe a -v200000k " & $sOut & " " & $FileDir)

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

    Func _FileSelectFolder ($title, $root = 0, $flags = 0, $hwnd = 0)
    Local $ret, $pidl, $res = ''
    ; Creating Structures
    Local $ubi = DllStructCreate ("hwnd;ptr;ptr;ptr;int;ptr;ptr;int") ; structure BROWSEINFO
    Local $utl = DllStructCreate ("char[512]") ; Browse title
    Local $urs = DllStructCreate ("char[260]") ; Buffer for path (MAX_PATH size)
    ;Local $ulf = BitOR (BitShift(BitAnd ($flags,1),-9), _ ; 1: NOT show Create Folder Button
    ; BitShift(BitAnd ($flags,2),-5), _ ; 2: Use New Dialog Style
    ; BitShift(BitAnd ($flags,4),-2)) ; 4: Show Edit Control
    Local $ulf = BitAnd ($flags, $BIF_ALLOLDSTYLEFLAGS) ; Supported flags
    ; Filling structures
    DllStructSetData ($utl, 1, $title)
    DllStructSetData ($ubi, 1, $hwnd)
    DllStructSetData ($ubi, 3, DllStructGetPtr($urs))
    DllStructSetData ($ubi, 4, DllStructGetPtr($utl))
    DllStructSetData ($ubi, 5, $ulf)
    $ret = DllCall ("shell32.dll", "ptr", "SHGetSpecialFolderLocation", _
    "int", 0 , _
    "int", $root , _
    "ptr", DllStructGetPtr($ubi, 2))
    If $ret[0] Then Return $res
    ; Start browse window
    $pidl = DllCall ("shell32.dll", "ptr", "SHBrowseForFolder", "ptr", DllStructGetPtr ($ubi))
    If $pidl[0] Then
    $ret = DllCall ("shell32.dll", "int", "SHGetPathFromIDList", _
    "ptr", $pidl[0], _
    "ptr", DllStructGetPtr ($urs))
    If $ret[0] Then $res = DllStructGetData ($urs, 1)
    DllCall ("ole32.dll", "int", "CoTaskMemFree", "ptr", $pidl[0]) ; clear memory
    EndIf
    DllCall ("ole32.dll", "int", "CoTaskMemFree", "ptr", DllStructGetData ($ubi, 2))
    Return $res
    EndFunc

    [/autoit]

    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"

  • PERFEKT...

    Danke dir vielmals... Das Ist genau das was ich versuche seit tagen...!!!!

    Jetzt versuche ich nur noch die art der komprimierung einzustellen...

    Vielen Vielen Vielen Dank...!!!

  • Es heißt "EIN Script", nicht "einen Script".


    Das war jeztz sehr sehr wichtig... vielen dank für diese bemerkung...!!!!
    Du hast mir sehr geholfen...

    (ich hoffe ich habe alles richtig geschrieben...)

  • zu Deinen zwei (1x per PN) weiteren Fragen:

    Spoiler anzeigen
    [autoit]

    Global Const $DIR_Flag_Desktop = 0 ; Desktop
    Global Const $DIR_Flag_Programme = 2 ; Programme
    Global Const $DIR_Flag_Systemsteuerung = 3 ; Systemsteuerung
    Global Const $DIR_Flag_Drucker = 4 ; Drucker
    Global Const $DIR_Flag_EigeneDateien = 5 ; Eigene Dateien
    Global Const $DIR_Flag_Favoriten = 6 ; Favoriten
    Global Const $DIR_Flag_Autostart = 7 ; Autostart
    Global Const $DIR_Flag_Recent = 8 ; Recent (Inhalt des Dokumente-Menüs)
    Global Const $DIR_Flag_SendenAn = 9 ; Senden an
    Global Const $DIR_Flag_Papierkorb = 10 ; Papierkorb
    Global Const $DIR_Flag_Startmenue = 11 ; Startmenü
    Global Const $DIR_Flag_DesktopOrdner = 16 ; Desktop-Ordner
    Global Const $DIR_Flag_Arbeitsplatz = 17 ; Arbeitsplatz
    Global Const $DIR_Flag_Netzwerkumgebung = 18 ; Netzwerkumgebung
    Global Const $DIR_Flag_OrdnerNetzwerkumgebung = 19 ; Ordner Netzwerkumgebung
    Global Const $DIR_Flag_Schriftarten = 20 ; Schriftarten
    Global Const $DIR_Flag_Vorlagen = 21 ; Vorlagen
    Global Const $DIR_Flag_StartmenueAlle = 22 ; Startmenü für Alle Benutzer
    Global Const $DIR_Flag_ProgrammeAlle = 23 ; Programme für Alle Benutzer
    Global Const $DIR_Flag_Programme2 = 24 ; Startmenü für Alle Benutzer
    Global Const $DIR_Flag_Desktop2 = 25 ; Desktop für Alle Benutzer
    Global Const $DIR_Flag_Anwendungsdaten = 26 ; Anwendungsdaten
    Global Const $DIR_Flag_PrintHood = 27 ; PrintHood
    Global Const $DIR_Flag_FavoritenAlle = 31 ; Favoriten für Alle Benutzer
    Global Const $DIR_Flag_TemporaereInternetdateien = 32 ; Temporäre Internetdateien
    Global Const $DIR_Flag_Cookies = 33 ; Cookies
    Global Const $DIR_Flag_Verlauf = 34 ; Verlauf
    Global Const $BIF_BROWSEFORCOMPUTER = 0x1000 ; Only return computers
    Global Const $BIF_BROWSEFORPRINTER = 0x2000 ; Only allow the selection of printers
    Global Const $BIF_BROWSEINCLUDEFILES = 0x4000 ; The browse dialog box will display files as well as folders
    Global Const $BIF_DONTGOBELOWDOMAIN = 0x2 ; Do not include network folders below the domain level
    Global Const $BIF_EDITBOX = 0x10 ; Include an edit control in the browse dialog box
    Global Const $BIF_USENEWUI = 0x40 ; Use New Style (> Windows 2000)
    Global Const $BIF_RETURNONLYFSDIRS = 0x1 ; Only return file system directories
    Global Const $BIF_ALLOLDSTYLEFLAGS = BitOR ($BIF_BROWSEFORCOMPUTER, $BIF_BROWSEFORPRINTER, $BIF_BROWSEINCLUDEFILES, $BIF_DONTGOBELOWDOMAIN, $BIF_EDITBOX, $BIF_RETURNONLYFSDIRS, $BIF_USENEWUI)

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

    ; Wähle Dateien und Ordner mit einer Auswahl
    $FileDir = _FileSelectFolder("Was soll gepackt werden ?",$DIR_Flag_Arbeitsplatz,$BIF_BROWSEINCLUDEFILES + $BIF_USENEWUI + $BIF_EDITBOX)

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

    If $FileDir <> "" Then ; wenn nicht abgebrochen wurde...
    ; Setze Ausgabenamen zusammen
    If StringInStr(FileGetAttrib($FileDir),"D") Then
    $sOut = $FileDir & ".rar"
    Else
    If StringInStr(StringRight($FileDir, 4), ".") Then
    $sOut = StringLeft($FileDir, StringInStr($FileDir, ".", "", -1) - 1) & ".rar"
    Else
    $sOut = $FileDir & ".rar"
    EndIf
    EndIf

    ; Packe in 200MB Archive
    RunWait("C:\Programme\WinRAR\Rar.exe a -m3 -v200000k " & $sOut & " " & $FileDir)
    EndIf

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

    Func _FileSelectFolder ($title, $root = 0, $flags = 0, $hwnd = 0)
    Local $ret, $pidl, $res = ''
    ; Creating Structures
    Local $ubi = DllStructCreate ("hwnd;ptr;ptr;ptr;int;ptr;ptr;int") ; structure BROWSEINFO
    Local $utl = DllStructCreate ("char[512]") ; Browse title
    Local $urs = DllStructCreate ("char[260]") ; Buffer for path (MAX_PATH size)
    ;Local $ulf = BitOR (BitShift(BitAnd ($flags,1),-9), _ ; 1: NOT show Create Folder Button
    ; BitShift(BitAnd ($flags,2),-5), _ ; 2: Use New Dialog Style
    ; BitShift(BitAnd ($flags,4),-2)) ; 4: Show Edit Control
    Local $ulf = BitAnd ($flags, $BIF_ALLOLDSTYLEFLAGS) ; Supported flags
    ; Filling structures
    DllStructSetData ($utl, 1, $title)
    DllStructSetData ($ubi, 1, $hwnd)
    DllStructSetData ($ubi, 3, DllStructGetPtr($urs))
    DllStructSetData ($ubi, 4, DllStructGetPtr($utl))
    DllStructSetData ($ubi, 5, $ulf)
    $ret = DllCall ("shell32.dll", "ptr", "SHGetSpecialFolderLocation", _
    "int", 0 , _
    "int", $root , _
    "ptr", DllStructGetPtr($ubi, 2))
    If $ret[0] Then Return $res
    ; Start browse window
    $pidl = DllCall ("shell32.dll", "ptr", "SHBrowseForFolder", "ptr", DllStructGetPtr ($ubi))
    If $pidl[0] Then
    $ret = DllCall ("shell32.dll", "int", "SHGetPathFromIDList", _
    "ptr", $pidl[0], _
    "ptr", DllStructGetPtr ($urs))
    If $ret[0] Then $res = DllStructGetData ($urs, 1)
    DllCall ("ole32.dll", "int", "CoTaskMemFree", "ptr", $pidl[0]) ; clear memory
    EndIf
    DllCall ("ole32.dll", "int", "CoTaskMemFree", "ptr", DllStructGetData ($ubi, 2))
    Return $res
    EndFunc

    [/autoit]

    zu 1. (Abbruch): Siehe Zeilen 40 & 54
    zu 2. (Kompressionsmethode): Siehe "-m"-Option in Zeile 53. Hier kannst Du die Standard "3" ggf. fest auf "5" ändern. Ggf. per InputBox oder Slider wenn Du eine GUI nutzen willst.

    P.S.: zu den einzelnen Option von "RAR.exe" solltest Du mal die Befehlszeilenoptionen in der Hilfe lesen.

    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"

  • vielen vielen dank...
    funkt perfekt...!!!