1. Dashboard
  2. Mitglieder
    1. Letzte Aktivitäten
    2. Benutzer online
    3. Team
    4. Mitgliedersuche
  3. Forenregeln
  4. Forum
    1. Unerledigte Themen
  • Anmelden
  • Registrieren
  • Suche
Alles
  • Alles
  • Artikel
  • Seiten
  • Forum
  • Erweiterte Suche
  1. AutoIt.de - Das deutschsprachige Forum.
  2. Mitglieder
  3. Tweaky

Beiträge von Tweaky

  • Laufwerk auf dem das Script liegt angeben

    • Tweaky
    • 27. April 2007 um 18:39

    Danke, euch beiden :klatschen:
    Es funktioniert beides einwandfrei.

    Habe jetzt nur ein Problem :weinen:

    Ich muß nun würfeln, welches von beiden ich nehmen soll :rofl:

  • Laufwerk auf dem das Script liegt angeben

    • Tweaky
    • 27. April 2007 um 18:18

    Hi,
    ich würde gerne als Variable das Laufwerk, auf dem ein Script liegt definieren.

    Also ähnlich dem @Scriptdir.
    Dies geht jedoch auf den genauen Pfad des Scriptes.

    Gibt es eine Möglichkeit nur das Laufwerk zu definieren aber OHNE die Unterordner?

  • Daten in ein Array - filtern - Ergebnis in Liste ausgeben

    • Tweaky
    • 27. April 2007 um 12:01

    unearth
    Hört sich kompliziert an. Das ist es mir dann doch nicht wert :hammer:

    @th.meger
    Wo find ich denn die. Was kann ich damit anstellen?

  • Daten in ein Array - filtern - Ergebnis in Liste ausgeben

    • Tweaky
    • 26. April 2007 um 19:25

    Danke unearth

    Genau dies war mein Fehler. Habs nun doch schneller geschafft als ich gedacht hatte. War mein erstes Script mit einem GUI

    Spoiler anzeigen
    [autoit]

    #Include <File.au3>
    #Include <Array.au3>
    #include "image_get_info.au3"
    #include <GuiListView.au3>
    #include <GUIConstants.au3>

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

    $Standard = "D:\Test\"

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

    GUICreate("Falsches Dateiformat!",330,200,100,200,-1,$WS_EX_ACCEPTFILES)
    $button = GuiCtrlCreateButton ("Beenden",130,170,70,20)
    $listview = GuiCtrlCreateListView ("Bild|Verhältnis Ist|Verhältnis Soll",10,10,310,150, $LVS_SORTDESCENDING)
    _GUICtrlListViewSetColumnWidth ($listview, 0, 100)
    _GUICtrlListViewSetColumnWidth ($listview, 1, 90)
    _GUICtrlListViewSetColumnWidth ($listview, 2, 90)

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

    $Pfad = FileSelectFolder("Bitte den Pfad auswählen", "" ,"", $Standard) & "\"
    $untergrenze = 1.48
    $obergrenze = 1.52
    $FileList = _FileListToArray($Pfad, "*.jpg")

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

    If @Error=4 Then
    MsgBox (0,"falscher Ordner?","Keine Dateien vorhanden")
    Exit
    EndIf

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

    For $i = 1 To UBound($FileList)-1
    $fehler = 0
    $aInfo = _ImageGetInfo($Pfad & $FileList[$i])
    $width = _ImageGetParam($aInfo, "Width")
    $height = _ImageGetParam($aInfo, "Height")

    If $width < $height Then
    $format = $height / $width
    ElseIf $width > $height Then
    $format = $width / $height
    Else
    EndIf

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

    If $format > $untergrenze Then
    Else
    $fehler = 1
    EndIf

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

    If $format < $obergrenze Then
    Else
    $fehler = 1
    EndIf

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

    IF $fehler = 1 Then
    GUICtrlCreateListViewItem($FileList[$i] & "|" & Round($format, 3) & "|1,5", $listview)
    Else
    EndIf
    Next

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

    GuiSetState()

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

    Do
    $msg = GuiGetMsg ()
    Select
    Case $msg = $button
    EXIT
    EndSelect
    Until $msg = $GUI_EVENT_CLOSE

    [/autoit]

    Gibt es eigentlich die Möglichkeit auch Unterordner mit in das Array einzubeziehen?

  • Daten in ein Array - filtern - Ergebnis in Liste ausgeben

    • Tweaky
    • 25. April 2007 um 20:06

    Hi,
    ich will ein Script machen, welches mir Dateien auf einem Ordner in ein Array schreibt.
    Dann wird das Seitenverhältnis der jpg-Dateien verglichen.
    Bis hierher funktioniert es.

    Weicht dies von 1,5 (15x10) ab, so sollen alle Bilder, bei denen es nicht stimmt in ein neues Array aufgelistet werden. (geht nicht)

    Mein bisheriges Script

    Spoiler anzeigen
    [autoit]

    #Include <File.au3>
    #Include <Array.au3>
    #include "image_get_info.au3"

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

    Dim $TreeViewItems[50]

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

    #include <GuiListView.au3>
    #include <GUIConstants.au3>

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

    GUICreate("listview items",220,250, 100,200,-1,$WS_EX_ACCEPTFILES)
    $button = GuiCtrlCreateButton ("Beenden",75,170,70,20)
    $listview = GuiCtrlCreateListView ("Bild|Verhältnis",10,10,200,150);,$LVS_SORTDESCENDING)

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

    $Pfad = "D:\Test\"
    $untergrenze = "1.48"
    $obergrenze = "1.52"
    $FileList = _FileListToArray($Pfad, "*.jpg")
    If @Error=1 Then
    MsgBox (0,"","Ordner nicht vorhanden")
    Exit
    EndIf
    If @Error=4 Then
    MsgBox (0,"","Keine Dateien vorhanden")
    Exit
    EndIf
    ;_ArrayDisplay($FileList,"$FileList")

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

    For $i = 1 To UBound($FileList)-1

    $aInfo = _ImageGetInfo($Pfad & $FileList[$i])
    $width = _ImageGetParam($aInfo, "Width")
    $height = _ImageGetParam($aInfo, "Height")

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


    If $width < $height Then
    $format = $height / $width
    ElseIf $width > $height Then
    $format = $width / $height
    Else
    EndIf

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

    If $format > $untergrenze Then
    Else
    ;MsgBox (0,"Foto " & $FileList[$i], "Falsches Format " & Round($format, 3))
    $fehler = 1
    EndIf

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

    If $format < $obergrenze Then
    Else
    ;MsgBox (0,"Foto " & $FileList[$i], "Falsches Format " & Round($format, 3))
    $fehler = 1
    EndIf

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

    GUICtrlCreateTreeViewItem($Pfad & $FileList[$i], $listview);$TreeViewItems[$i] =
    Next
    ;GUISetBkColor (0x00E0FFFF) ; will change background color

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

    ;$item1=GuiCtrlCreateListViewItem($TreeViewItems[$i] & "|col22",$listview)
    ;$item1=GuiCtrlCreateListViewItem($TreeViewItems[$i] & "|col22",$listview)
    ;$item2=GuiCtrlCreateListViewItem($TreeViewItems[$i] & "|col12",$listview)
    ;$item3=GuiCtrlCreateListViewItem($TreeViewItems[$i] & "|col32",$listview)
    ;GuiCtrlSetState(-1,$GUI_ACCEPTFILES) ; to allow drag and dropping
    GuiSetState()
    ;GUICtrlSetData($item2,"|ITEM1",)
    ;GUICtrlSetData($item3,"||COL33",)
    ;GUICtrlDelete($item1)

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

    Do
    $msg = GuiGetMsg ()

    Select
    Case $msg = $button
    MsgBox(0,"listview item",GUICtrlRead(GUICtrlRead($listview)),2)
    Case $msg = $listview
    MsgBox(0,"listview", "clicked="& GuiCtrlGetState($listview),2)
    EndSelect
    Until $msg = $GUI_EVENT_CLOSE

    [/autoit]

    Mittlerweile ist es etwas durcheinander.
    Damit es einfacher ist versuche ich erstmal alle Elemente des array in eine GUI mit Spalten zu bekommen.
    Oder einer weiß gleich, wie ich alle Dateien auflisten kann, bei denen die Bedingung (kleiner als 1,48 oder größer 1,52 erfüllt ist)

    Leider will es nicht :lol:
    Es werden einfach keine Daten in die GUI übernommen :hammer:

  • Dateien umbenennen

    • Tweaky
    • 25. April 2007 um 19:42

    Hi,
    was soll denn bei dem include Befehl falsch sein?
    Kann da keinen Fehler entdecken :rofl:

    Bei Digifotos werden ja alle Daten, wie z. B. Aufnahmedatum, Größe, Kamera, usw. mit dem Bild gespeichert. Dies nennt man exif-Daten
    Und dieses Datum brauche ich.

    Hoffe ich habe es richtig erklärt :hammer:

  • Dateien umbenennen

    • Tweaky
    • 24. April 2007 um 21:50

    Greenhorn
    nö daran lags nicht

    aber ich habs endlich entdeckt.
    Bei FileGetTime fehlte die Pfadangabe :irre:

    Hier das fertige 2. Script

    Spoiler anzeigen
    [autoit]

    #Include <File.au3>
    #Include <Array.au3>

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

    $Pfad = "D:\Test\"
    $ersetzen = "MVI_"
    $Dateiart = "avi"

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

    $FileList = _FileListToArray($Pfad, $ersetzen & "*." & $Dateiart, 1)
    If @Error=1 Then
    MsgBox (0,"","Ordner nicht vorhanden")
    Exit
    EndIf
    If @Error=4 Then
    MsgBox (0,"","Keine Dateien vorhanden")
    Exit
    EndIf

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

    For $i = 1 To UBound($FileList)-1
    $time = FileGetTime($Pfad & $FileList[$i], 1)
    $video = $time[0] & "." & $time[1] & "." & $time[2] & "." & $time[3] & "." & $time[4] & "." & $time[5] & "_FH"
    FileMove($Pfad & $FileList[$i], $Pfad & $video & "." & $Dateiart)
    Next

    [/autoit]


    So, mach dann Schluß für heute, morgen gehts weiter mit dem 3. Script :teufel:


    Hier mal der Anfang vom 3. Script

    Spoiler anzeigen
    [autoit]

    #Include <File.au3>
    #Include <Array.au3>
    #include "image_get_info.au3"

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

    $Pfad = "D:\Test\"
    $FileList = _FileListToArray($Pfad)
    If @Error=1 Then
    MsgBox (0,"","Ordner nicht vorhanden")
    Exit
    EndIf
    If @Error=4 Then
    MsgBox (0,"","Keine Dateien vorhanden")
    Exit
    EndIf

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

    For $i = 1 To UBound($FileList)-1
    $aInfo = _ImageGetInfo($Pfad & $FileList[$i])
    ;$exif = Parseexif($aInfo, 0x9004)
    $exif = _ImageGetParam($aInfo, "DateTimeDigitized")

    $jahr = StringMid ($exif, 1, 4)
    $monat = StringMid ($exif, 6, 2)
    $tag = StringMid ($exif, 9, 2)
    $stunde = StringMid ($exif, 12, 2)
    $minute = StringMid ($exif, 15, 2)
    $sekunde = StringMid ($exif, 18, 2)
    FileSetTime($Pfad & $FileList[$i], $jahr & $monat & $tag & $stunde & $minute & $sekunde, 0)
    Next

    [/autoit]

    Achso wie ist dies eigentlich mit dem Exif-Datum bei Digtalfotos?
    Habe ein Script namens "image_get_info.au3" entdeckt. Es funktioniert soweit. Ich kann das Datum auslesen.
    Gibts noch ne andere Lösung?

  • Dateien umbenennen

    • Tweaky
    • 24. April 2007 um 18:58

    @th.meger
    ich probiers einfach mal selber (wenn nicht hab ich ja euch noch :musik2:)

    2. Script

    [autoit]

    #Include <File.au3>
    #Include <Array.au3>

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

    $Pfad = "D:\Test\"
    $ersetzen = ""
    ;$neu = $array
    $Dateiart = "avi"

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

    $FileList = _FileListToArray($Pfad, $ersetzen & "*." & $Dateiart, 1)
    If @Error=1 Then
    MsgBox (0,"","Ordner nicht vorhanden")
    Exit
    EndIf
    If @Error=4 Then
    MsgBox (0,"","Keine Dateien vorhanden")
    Exit
    EndIf
    _ArrayDisplay($FileList,"$FileList")

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

    For $i = 1 To UBound($FileList)-1
    $xxx = FileGetTime($FileList[$i], 1)

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

    Msgbox(0, "", $FileList[$i])
    Msgbox(0, "", $xxx[0])

    [/autoit]

    Es kommt der Fehler
    D:\Dateien umbenennen 2.au3 (24) : ==> Subscript used with non-Array variable.:
    Msgbox(0, "", $xxx[0])
    Msgbox(0, "", $xxx^ ERROR

    Warum?

    EDIT: Habs auf 1 gelassen. Dies hatte ich die ganze Zeit drin. Die sagt ja nur welches Datum genommen werden soll. Er eine weitere Zahl sagt, ob ich ein Array will oder nicht

    Weiss nimmer weider :irre:

  • Dateien umbenennen

    • Tweaky
    • 24. April 2007 um 18:19

    @th.meger
    hab deine Frage nicht so ganz verstanden

    1. Script funktioniert nun. Habs zwar nicht geglaubt, dass ich es schaffe, aber es hat geklappt :rofl:

    [autoit]

    #Include <File.au3>
    #Include <Array.au3>

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

    $Pfad = "D:\Test\"

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

    $FileList = _FileListToArray($Pfad, "IMG*.jpg", 1)
    If @Error=4 Then
    MsgBox (0,"","Keine Dateien vorhanden")
    Exit
    EndIf
    _ArrayDisplay($FileList,"$FileList")

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

    For $i = 1 To UBound($FileList)-1
    $Foto = StringReplace($FileList[$i], "IMG_", "FH_")
    FileMove($Pfad & $FileList[$i], $Pfad & $Foto)
    Next

    [/autoit]
  • Dateien umbenennen

    • Tweaky
    • 24. April 2007 um 17:28

    Aha, hab mal ein bisschen gesucht

    [autoit]

    #Include <File.au3>
    #Include <Array.au3>
    $FileList=_FileListToArray("D:\Test")
    If @Error=1 Then
    MsgBox (0,"","No Files\Folders Found.")
    Exit
    EndIf
    _ArrayDisplay($FileList,"$FileList")

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

    For $i = 0 to 2
    $Foto = StringReplace($FileList[$i], "IMG_", "FH_")
    FileMove($FileList[$i], "D:\Test\" & $Foto)
    Next

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

    So bekomme ich ja ein Fenster mit allen in diesem Verzeichnis enthaltenen Dateien.

    EDIT: Hab mal die Schleife dazugemacht. Aber es tut sich nichts!? :rolleyes:

    Stimmt es bisher?
    Weiter komme ich leider nicht. Ich finde den Anfang nicht :lol:

  • Dateien umbenennen

    • Tweaky
    • 24. April 2007 um 15:30

    Hi,
    ich versuche gerade etwas zu schreiben, damit ich Dateien umbenennen kann.

    Habs mal probiert.

    1. Script
    Es sollen alle Dateien "IMG_xxxx.jpg" (xxxx ist eine immer andere Zahlenfolge) in einem bestimmten Ordner in "FH_xxxx.jpg" umbenannt werden.

    Mit meinem Script wird es in "IMG_FH_xxxx.jpg" umbenannt

    [autoit]

    $Foto = StringReplace("IMG_*.jpg", "IMG_", "FH_")
    FileMove("D:\Test\IMG_*.jpg", "D:\Test\" & $Foto)

    [/autoit]


    2. Script
    Es sollen alle Dateien "MVI_xxxx.avi" (xxxx ist eine immer andere Zahlenfolge) in einem bestimmten Ordner in "Jahr.Monat.Tag Stunde:Minute:Sekunde.avi" umbenannt werden.


    3. Script
    Es sollen bei allen Dateien in einem bestimmten Ordner das Dateidatum in das Exif-Datum geändert werden


    Wäre dankbar für jeden Tipp
    :party4:

  • Anzahl der Dateien - Hilfe

    • Tweaky
    • 22. April 2007 um 01:05

    Danke,
    klappt wie immer einwandfrei.

    Lag daran, dass ich $1 in der Schleife drin hatte. War mit nicht bewußt, dass es so nicht funktioniert.

    Warum hast du bei DirGetSize ",3" stehen. In der Hilfe steht nur was von 0, 1 und 2?

    :musik2:

  • Anzahl der Dateien - Hilfe

    • Tweaky
    • 22. April 2007 um 00:34

    Hi,
    ich will die Anzahl der Dateien in einem Verzeichnis ermitteln und vergleichen.
    Dies kann ich ja mit DirGetSize machen. Ist die Variable $test
    Leider wird mir stattdessen immer die Größe angezeigt
    Mit der Hilfe zu dieser Funktion komme ich leider nicht ganz klar :irre:

    Spoiler anzeigen
    [autoit]


    Dim $Konten_entf[2]
    Dim $Konten_hin[2]
    Dim $Konten_Pfad[2]
    Dim $test[2][2]

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

    $Konten_entf[0] = 5
    $Konten_entf[1] = 16
    $Konten_Pfad[0] = "D:\E-Mail Konten"
    $Konten_Pfad[1] = "D:\E-Mail Konten\OK"
    ;---------------------------------------------------------------------------------------------------
    For $i = 0 to 1
    $test[$i] = DirGetSize($Konten_Pfad[$i], 2)
    If $test[$i][1] <> $Konten_entf[1] Then
    MsgBox(0, "Quellordner stimmt nicht", "Der Ordner von den aktuell vorhandenen E-Mail-Konten " & $test[1] & " " & $Konten_entf[1] & " existiert nicht. Bitte kontrollieren")
    Else
    EndIf

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

    Next
    EXIT

    [/autoit]

    EDIT: Sorry hatte zu früh auf Beitrag senden geklickt. Ist schon spät :rofl:

  • SplashTextOn - mehrere Zeilen?

    • Tweaky
    • 20. April 2007 um 19:03

    Ahso, habe die deutsche Hilfe
    dort steht "@LF". Aber wenn das das gleiche bewirkt :klatschen:

    Eine Beschreibung im Hilfetext wäre super.

    Weiter so ;)

  • SplashTextOn - mehrere Zeilen?

    • Tweaky
    • 20. April 2007 um 18:50

    Danke, klappt einwandfrei, sollte man vielleicht in die Hilfe schreiben :klatschen:

  • SplashTextOn - mehrere Zeilen?

    • Tweaky
    • 20. April 2007 um 18:44

    Hi,
    ist es möglich bei SplashTextOn mehrere Zeilen zu verwenden?

    Danke

  • Fragen zur Datensicherung

    • Tweaky
    • 19. April 2007 um 15:54

    ... und weiter gehts.

    Flamefire hat mich auf eine neue Idee gebracht.

    Ich habe nun ein Kopierfenster mit drinnen, dort kann ich dann jederzeit auf abbrechen klicken

    Hab die Funktion von th.meger übernommen :klatschen:
    Kopieren von Dateien -> Restdauer anzeigen?

    Spoiler anzeigen
    [autoit]

    ;----------------------------------------------------------------
    ;Durch dieses Script können Dateien und Ordner gesichert werden
    ; - Ziellaufwerk vorhanden?
    ; - Quellverzeichnisse vorhanden?
    ; - genügend freier Speicher auf dem Ziellaufwerk?
    ;----------------------------------------------------------------

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

    #include <Date.au3>
    #include <Misc.au3>

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

    ;Den Wert in der ersten [] muß der Anzahl der zu kopierenden Ordnern entsprechen
    Dim $Quell_Pf_[3][2] ; [n][0] = Pfad; [n][1] = gerundete Größe

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

    Dim $goOut = 0

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

    ;Der Start-Wert ist die Zahl des ersten Ordners
    $start = 0

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

    ;Der Ende-Wert ist die Zahl des letzten Ordners
    $ende = 2

    ;Datumsoptionen
    $iWeekday = _DateToDayOfWeek(@YEAR, @MON, @MDAY)
    $sNewDate = _DateAdd('d', 0, _NowCalcDate())
    $sNewDate = StringReplace($sNewDate, "/", ".")

    ;Quellpfade anpassen
    $Quell_LW = "E:\"
    $Quell_Pf_[0][0] = $Quell_LW & "Adressbuch"
    $Quell_Pf_[1][0] = $Quell_LW & "Favoriten"
    $Quell_Pf_[2][0] = $Quell_LW & "E-Mails"

    ;Zielpfade anpassen
    $Ziel_LW = "D:\"
    $Ziel_Pf = $Ziel_LW & "Sicherung Internet\" & $sNewDate

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

    ;AB HIER KEINE ANPASSUNG MEHR NOTWENDIG!!!!!!!!!!!!!!!
    ;----------------------------------------------------------------

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

    _check()

    Func _check()
    ;Prüfung Ziellaufwerk vorhanden?
    If FileExists($Ziel_LW) Then ;Prüfung Quellverzeichnisse vorhanden?
    $tmp = 0
    For $i = $start to $ende
    If Not FileExists($Quell_Pf_[$i][0]) Then ;Fenster Quellordner fehlt
    MsgBox(0, "Quellordner fehlt", "Der Ordner " & $Quell_Pf_[$i][0] & " existiert nicht. Bitte kontrollieren")
    $goOut = 1
    Else ;Speicherplatz ermitteln und runden
    $Quell_Pf_[$i][1] = Round((DirGetSize($Quell_Pf_[$i][0])/1024 / 1024), 0)
    $tmp +=($Quell_Pf_[$i][1]) ;Größe zusammenrechnen
    EndIf
    Next

    If $goOut = 1 Then Exit ;Quellordner fehlt, dann Script beenden
    $Ziel_LW_Gr_Ru = Round(DriveSpaceFree($Ziel_LW), 0)

    ;Funktion Größenvergleich der Quellverzeichnisse mit dem Ziellaufwerk
    If $tmp > $Ziel_LW_Gr_Ru Then ;Fenster zu wenig Speicherplatz
    Msgbox(0,"Zu wenig Speicherplatz vorhanden","Geben Sie mindestens " & $tmp - $Ziel_LW_Gr_Ru & " MB Speicherplatz auf " & $Ziel_LW & " frei")
    Exit
    Else ;Alles OK, Start-Info-Fenster einblenden
    SplashTextOn("Datensicherung Internet", "Sicherung läuft - Bitte warten", 250, 30, -1, -1, 0)

    ;Alles OK, Datensicherung beginnt
    For $i = $start to $ende
    _FileCopy($Quell_Pf_[$i][0], $Ziel_Pf)
    Next
    SplashOff() ;Datensicherung beendet, Info-Fenster ausblenden, Script beenden
    EndIf
    Else ;Fenster Ziellaufwerk fehlt
    $ret = MsgBox(5 + 64, "Datensicherung Internet", "Ziellaufwerk " & $Ziel_LW & " nicht vorhanden")
    If $ret = 4 Then ;Wiederholen wurde ausgewählt, Funktion startet von vorne
    _check()
    Else ;Abbrechen wurde ausgewählt, dann Script beenden
    EndIf
    EndIf
    EndFunc ;==>_check

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

    EXIT ;Scrpit beenden

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

    Func _FileCopy($fromFile,$tofile)
    DirCreate($Ziel_Pf)
    Local $FOF_RESPOND_YES = 16
    Local $FOF_SIMPLEPROGRESS = 512
    $winShell = ObjCreate("shell.application")
    $winShell.namespace($tofile).CopyHere($fromFile,$FOF_RESPOND_YES)
    EndFunc ;==>_FileCopy

    [/autoit]

    Wie genau muß ich dies anwenden. Hab leider dazu keine Hilfe gefunden. Deutsche ÜBersetzung?

    [autoit]

    ;~ 4 Do not display a progress dialog box.
    ;~ 8 Give the file being operated on a new name in a move, copy, or rename operation if a file with the target name already exists.
    ;~ 16 Respond with "Yes to All" for any dialog box that is displayed.
    ;~ 64 Preserve undo information, if possible.
    ;~ 128 Perform the operation on files only if a wildcard file name (*.*) is specified.
    ;~ 256 Display a progress dialog box but do not show the file names.
    ;~ 512 Do not confirm the creation of a new directory if the operation requires one to be created.
    ;~ 1024 Do not display a user interface if an error occurs.
    ;~ 2048 Version 4.71. Do not copy the security attributes of the file.
    ;~ 4096 Only operate in the local directory. Don't operate recursively into subdirectories.
    ;~ 9182 Version 5.0. Do not copy connected files as a group. Only copy the specified files.

    [/autoit]


    Was noch nicht funktioniert:
    Wenn ich im Kopierfenster auf abbrechen klicken, fängt das kopieren wieder an.
    Dies ist auch logisch, da ja alle 3 Ordner in einer Schleife kopiert werden.

    Wie kann ich das abbrechen ansprechen, dass dann auch die Schleife aufhört?

  • Fragen zur Datensicherung

    • Tweaky
    • 18. April 2007 um 14:45

    Danke, das habe ich gesucht.
    Hatte leider nur im Forum gesucht :irre:

    So hab nun noch mal zur besseren ÜBersicht mein ganzes Script gepostet. Müsste alles funktionieren.

    Danke an alle, die soviel Geduld mit mir hatten.
    Danke :musik2: :musik2: :musik2:

    Spoiler anzeigen
    [autoit]

    #include <Date.au3>
    #include <Misc.au3>
    Dim $Quell_Pf_[3][2] ; [n][0] = Pfad; [n][1] = gerundete Größe
    Dim $goOut = 0
    Dim $Ziel_Pf_[3]

    $start = 0
    $ende = 2

    ;Datumsoptionen
    $iWeekday = _DateToDayOfWeek(@YEAR, @MON, @MDAY)
    $sNewDate = _DateAdd('d', 0, _NowCalcDate())
    $sNewDate = StringReplace($sNewDate, "/", ".")

    ;Quellpfad <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< evtl. ändern >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
    $Quell_LW = "E:\"
    $Quell_Pf_[0][0] = $Quell_LW & "Adressbuch"
    $Quell_Pf_[1][0] = $Quell_LW & "Favoriten"
    $Quell_Pf_[2][0] = $Quell_LW & "E-Mails"

    ;Zielpfad <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< evtl. ändern >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
    $Ziel_LW = "V:\"
    $Ziel_Pf = $Ziel_LW & "Sicherung Internet\" & $sNewDate
    $Ziel_Pf_[0] = $Ziel_Pf & "\Adressbuch"
    $Ziel_Pf_[1] = $Ziel_Pf & "\Favoriten"
    $Ziel_Pf_[2] = $Ziel_Pf & "\E-Mails"

    _check()

    Func _check()
    ;Ziellaufwerk vorhanden?
    If FileExists($Ziel_LW) Then
    $tmp = 0
    For $i = $start to $ende ;Quellverzeichnisse vorhanden?
    If Not FileExists($Quell_Pf_[$i][0]) Then
    MsgBox(0, "Quellordner fehlt", "Der Ordner " & $Quell_Pf_[$i][0] & " existiert nicht. Bitte kontrollieren")
    $goOut = 1
    Else ; Speicherplatz ermitteln und runden
    $Quell_Pf_[$i][1] = Round((DirGetSize($Quell_Pf_[$i][0])/1024 / 1024), 0)
    $tmp +=($Quell_Pf_[$i][1]) ; Größe zusammenrechnen
    EndIf
    Next

    If $goOut = 1 Then Exit
    $Ziel_LW_Gr_Ru = Round(DriveSpaceFree($Ziel_LW), 0)

    ;Größe Speicherplatz Vergleich
    If $tmp > $Ziel_LW_Gr_Ru Then
    Msgbox(0,"Zu wenig Speicherplatz vorhanden","Geben Sie mindestens " & $tmp - $Ziel_LW_Gr_Ru & " MB Speicherplatz auf " & $Ziel_LW & " frei")
    Exit
    Else
    ;Info-Fenster einblenden
    SplashTextOn("Datensicherung Internet", "Sicherung läuft - Bitte warten", 250, 30, -1, -1, 0)

    ;zu kopierende Ordner
    For $i = $start to $ende
    DirCopy($Quell_Pf_[$i][0], $Ziel_Pf_[$i], 1)
    Next
    EndIf
    Else
    $ret = MsgBox(5 + 64, "Datensicherung Internet", "Ziellaufwerk " & $Ziel_LW & " nicht vorhanden")
    If $ret = 4 Then
    _check()
    Else
    EndIf
    EndIf
    EndFunc ;==>_check

    ;Info-Fenster ausblenden
    SplashOff()

    [/autoit]
  • Fragen zur Datensicherung

    • Tweaky
    • 18. April 2007 um 14:04

    OK, dann lass ich die Tastenkombination weg. Ist auch nicht schlimm

    Zitat

    Original von Flamefire

    [autoit]


    Dim $array[3]
    For $i=0 to 2
    $array[$i]=1
    next

    [/autoit]

    Hm,
    was genau ist eigentlich ein Array?
    Könntest du mir bitte die Zeilen mit dem Array genau erklären, was dies bedeutet?

    Danke ;)

  • Fragen zur Datensicherung

    • Tweaky
    • 17. April 2007 um 16:45

    hm,
    es will einfach nicht

    so siehts aus

    [autoit]

    AdlibEnable("beenden", 100)

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

    Func beenden()
    If _IsPressed("2B") Then
    EXIT
    EndFunc

    [/autoit]

    Es soll die Taste "ESC" gedrückt werden und dann das Script beendet werden.
    Oder geht dies nicht?

Spenden

Jeder Euro hilft uns, Euch zu helfen.

Download

AutoIt Tutorial
AutoIt Buch
Onlinehilfe
AutoIt Entwickler
  1. Datenschutzerklärung
  2. Impressum
  3. Shoutbox-Archiv
Community-Software: WoltLab Suite™