Hallo,
ich komme, auch nach stundenlangem Suchen, in meinem Code nicht mehr weiter und bitte um Hilfe...
Zum Herunterfahren des PCs nutze ich ein selbstgeschriebenes VBSkript, das ich etwas erweitert habe.
Zuerst wird eine Synchronisation mit dem USBStick ausgeführt (hier gibt es die Wahlmöglichkeit ja/nein). Dann wird ein Backup meines PCs auf ext. Festplatten ausgeführt (wenn das letzte Backup mindestens 7 Tage her ist).
Zur Verwaltung der Synchronisation und des Backups nutze ich eine Txt-Datei "Zeitstempel.txt" und eine Txt-Datei "ZeitstempelTemp.txt".
In "Zeitstempel.txt" ist das Medium aufgelistet ("PC", "USBStick", "ext FP" ) und wann die letzte Synchronisation / das letzte Backup ausgeführt wurde.
Zum Einlesen der Werte wird "Zeitstempel.txt" geöffnet, die neuen Werte werden in "ZeitstempelTemp.txt" geschrieben. Dann wird "Zeitstempel.txt" gelöscht und "ZeitstempelTemp.txt" wird in "Zeitstempel.txt" umbenannt.
Die eigentlichen Sync-Vorgänge/Backup funktionieren und ich habe sie auskommentiert um besser testen zu können.
Zum Fehler:
Die Datei "Zeitstempel.txt" ist am Ende leer wenn ich bei der Sync-Abfrage "ja" wähle.
Wenn ich "nein" wähle dann ist sie gefüllt.
Ich bitte um Hilfe, da ich alleine nicht mehr weiterkomme...
Viele Grüße,
kwon
ich komme, auch nach stundenlangem Suchen, in meinem Code nicht mehr weiter und bitte um Hilfe...
Zum Herunterfahren des PCs nutze ich ein selbstgeschriebenes VBSkript, das ich etwas erweitert habe.
Zuerst wird eine Synchronisation mit dem USBStick ausgeführt (hier gibt es die Wahlmöglichkeit ja/nein). Dann wird ein Backup meines PCs auf ext. Festplatten ausgeführt (wenn das letzte Backup mindestens 7 Tage her ist).
Zur Verwaltung der Synchronisation und des Backups nutze ich eine Txt-Datei "Zeitstempel.txt" und eine Txt-Datei "ZeitstempelTemp.txt".
In "Zeitstempel.txt" ist das Medium aufgelistet ("PC", "USBStick", "ext FP" ) und wann die letzte Synchronisation / das letzte Backup ausgeführt wurde.
Zum Einlesen der Werte wird "Zeitstempel.txt" geöffnet, die neuen Werte werden in "ZeitstempelTemp.txt" geschrieben. Dann wird "Zeitstempel.txt" gelöscht und "ZeitstempelTemp.txt" wird in "Zeitstempel.txt" umbenannt.
Die eigentlichen Sync-Vorgänge/Backup funktionieren und ich habe sie auskommentiert um besser testen zu können.
Zum Fehler:
Die Datei "Zeitstempel.txt" ist am Ende leer wenn ich bei der Sync-Abfrage "ja" wähle.
Wenn ich "nein" wähle dann ist sie gefüllt.
Ich bitte um Hilfe, da ich alleine nicht mehr weiterkomme...
Viele Grüße,
kwon
Quellcode
- on Error resume Next
- Dim f,tempf,fso,wss,pfad1, pfad2, letztdat, sText, datdiff, i, u
- Set fso = CreateObject("Scripting.FileSystemObject")
- Set wss = CreateObject("Wscript.Shell")
- pfad1 ="F:\Zeitstempel\Zeitstempel.txt"
- pfad2 ="F:\Zeitstempel\ZeitstempelTemp.txt"
- Set f = fso.OpenTextFile(pfad1, 1, True)
- Set tempf = fso.OpenTextFile(pfad2, 2, True)
- zeitstempel=Date & "__" & Time
- antw=MsgBox("Sync durchführen? Ja --> USBStick einstecken.", vbyesno)
- Select Case antw
- Case vbYes
- Do until fso.DriveExists("F:\")
- Loop
- If fso.FileExists("F:\Sync_ausfuehren.txt") Then
- 'Zeitstempel aktualisieren
- Do While f.AtEndOfStream <> True
- sText=f.ReadLine()
- 'eintragen dass PC Sync durchführen wird
- If sText= "&" Then
- tempf.WriteLine "%"
- elseif InStr(sText, "PC") Then
- tempf.WriteLine "PC________" & zeitstempel
- ElseIf InStr(sText, "USBStick") Then
- tempf.WriteLine "USBStick__" & zeitstempel
- Else
- tempf.WriteLine sText
- End if
- Loop
- f.Close
- tempf.Close
- fso.DeleteFile(pfad1)
- fso.MoveFile pfad2, pfad1
- If fso.FileExists(pfad1) Then wss.Popup "Zeitstempel erzeugt.", 1
- Set f = fso.OpenTextFile(pfad1, 1, True)
- Set tempf = fso.OpenTextFile(pfad2, 2, True)
- 'Sync PC<-->USB (Ordner X)
- ' wss.Run "D:\Daten\aufbewahren\PC\FreeFileSync\Sync\runbat_Ordner_X-PC_USBStick_beide_Richtungen.bat"
- ' MsgBox("Wenn Sync-Fenster geschlossen dann OK klicken.")
- End If
- Case vbno
- End Select
- Do While f.AtEndOfStream <> True
- sText=f.ReadLine()
- If InStr(sText, "extFP") Then
- letztdat=mid(sText,11,10)
- datdiff=datediff("d",letztdat,Date)
- 'Überprüfung ob Backup D:\Daten auf ext. FP ausgeführt werden soll
- If datdiff >=7 Then
- tempf.WriteLine "extFP_____" & zeitstempel
- Else
- tempf.WriteLine sText
- End if
- 'For u=1 to 2
- 'USB-Laufwerk finden
- ' wss.Popup "Popup: externe Festplatte einschalten.", 5
- ' Do Until fso.DriveExists("G:")
- ' Loop
- ' wss.Popup "Popup: USB-Festplatte gefunden.", 5
- 'Backup durchführen
- ' wss.run "D:\Daten\aufbewahren\PC\FreeFileSync\Sync\runbat_Backup_PC_Daten_auf_ext_FP.bat"
- ' MsgBox("Zum Auswerfen der ext. Festplatte OK klicken.")
- 'Festplatten per Skript auswerfen
- ' Do Until Not fso.DriveExists("G:") Or i=10
- ' wss.Run "D:\Daten\aufbewahren\PC\FreeFileSync\Sync\FP_per_skript_auswerfen\runbat_FP_per_skript_auswerfenG.bat"
- ' i=i+1
- ' WScript.Sleep(5000)
- ' Loop
- ' msgbox("Wenn ext. Festplatte ausgeschaltet OK klicken.")
- ' Next
- End If
- Loop
- f.Close
- tempf.Close
- Set f = fso.OpenTextFile(pfad1, 1, True)
- Set tempf = fso.OpenTextFile(pfad2, 2, True)
- f.Close
- tempf.Close
- fso.DeleteFile(pfad1)
- fso.MoveFile pfad2, pfad1
- If fso.FileExists(pfad1) Then wss.Popup "Zeitstempel erzeugt.", 1
- Set fso=Nothing
- 'wss.Run "C:\Windows\System32\shutdown.exe /s /f /t 0"
Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „kwon“ ()