Auswählen einer Datei

  • Hallo Forum,

    Ich möchte ein Skript erstellen, bei dem automatisch ein BackUp wiederhergestellt wird. Jedoch soll es nicht ein bestimmtes sein, sondern immer das aktuellste. Was für einen Befehl muss ich schreiben, damit AutoIt im Programm "Acronis True Image Server Echo" in der Verzeichnissliste, das aktuellste Backup aussucht?

    Falls es wichtig ist:
    Der Ordner in dem die Backups angegeben sind, unterliegen folgendem Schema:

    [...]\Backups\1Montag
    \2Dienstag
    \3Mittwoch etc.

    Grüße
    MattS

  • ich weiss nicht mal wie du autoit dann zur wiederherstellung bringst, aber würde es nicht mit nummerierung und dem aktuellen datum gehen ?

    Dies ist ein Arzeneimittel.
    Bei Risiken und Haluzinationen fressen sie die Packungsbeilage und schlagen Sie ihren Arzt oder Apotheker.
    Jede Haftung wird abgelent.

    Vielen Dank für Ihre Kundentreue.
    mfg. TimBlo

    Aperture Science

    http://www.youtube.com/watch?v=Y6ljFaKRTrI

  • Hi,
    ich gehe davon aus, dass Du nur wöchentlich sicherst ( So-Sa ).
    => Also am Montag benötigst Du die Sicherung von Sonntag oder
    am Mittwoch brauchst Du die Sicherung von Dienstag

    [autoit]

    #Include <File.au3>
    #include <array.au3>
    $sPath="c:\Backups"
    $aVerzeichnisse = _FileListToArray($sPath, "*", 2)
    $verzeichnis = $sPath & "\" & $aVerzeichnisse [_ArraySearch ($aVerzeichnisse, @WDAY)]

    [/autoit]


    ;-))
    Stefan

  • Also das Skript soll praktisch in einem Ordner die neueste Datei auswählen.

    TimBlo:

    Ich automatisiere einfach eine normale Wiederherstellung mit Acronis. Das ist zwar etwas umständlich, aber einfach^^

    @ojo:

    Es werden täglich drei BackUps gemacht, und das BackUp wird auch nur manchmal wiederhergestellt. Kann ich das auch dafür verwenden? Außerdem soll dann der Pfad der neuesten Datei in eine Zeile geschrieben werden, in der der Pfad der Quelle steht. Versteht ihr wie ich das meine?

  • Hi,

    [autoit]

    #Include <File.au3>
    #include <array.au3>
    Dim $aDatum [4]
    $sPath="c:\backups"
    $aVerzeichnisse = _FileListToArray($sPath, "*.", 2)
    If @WDAY > 1 Then
    $suche = @WDAY - 1
    Else
    $suche = 6
    EndIf
    For $i = 1 To UBound ($aVerzeichnisse) - 1
    If StringInStr ($aVerzeichnisse [$i], $suche) Then
    $verzeichnis = $sPath & "\" & $aVerzeichnisse [$i]
    ExitLoop
    EndIf
    Next
    $aDateien = _FileListToArray ($verzeichnis, "*.*")
    For $i = 1 To UBound ($aDateien) -1
    $aDatum [$i] = FileGetTime ($verzeichnis & "\" & $aDateien [$i], 1, 1)
    Next
    If $aDatum [1] > $aDatum [2] Then
    If $aDatum [1] > $aDateien [3] Then
    $savefile = $aDateien [1]
    Else
    $savefile = $aDateien [3]
    EndIf
    Else
    If $aDatum [2] > $aDateien [3] Then
    $savefile = $aDateien [2]
    Else
    $savefile = $aDateien [3]
    EndIf
    EndIf
    MsgBox (0,"",$verzeichnis & "\" & $savefile)

    [/autoit]

    Als Ergebnis erhälst Du neueste Datei Deiner 3 Backups.
    ;-))
    Stefan