bat nur 1 x täglich ausführen
Hallo,
Ich starte meinen Arbeitsrechner täglich zeitgesteuert über das BIOS. Bis ich dann ins Büro komme hat der PC alle Vortagsdaten gesichert, das AV Programm aktualisiert und die Mails abgefragt.
Über den Windows Autostart starte ich über eine bat.Datei ein Tool, das verschiedene Ordner mit dem Backup-Laufwerk synchronisiert. Mein Problem ist, dass ich hin und wieder mal den Rechner neu starten muss, dann wird auch die Synchronisation wieder gestartet - das kann zu Problemen führen, wenn die Dateien gerade von einem anderen Rechner aus benutzt werden.
Deshalb meine Frage: gibt es einen Parameter / eine Möglichkeit, dass eine .bat nur 1 x am Tag ausgeführt wird ?
Gruss, Mikoop
Antwort schreiben
Antwort 1 von bumbelbusch vom 04.08.2019, 12:54 Options
hi mikoop,
stell diese .bat einfach in den taskplaner und nimm sie aus dem autostart raus
mfg
bumbelbusch
Antwort 2 von steffen2 vom 04.08.2019, 13:06 Options
mit Choice kannst du den Start um z.B. 60 Sekunden verzögern.
Beim manuellen Neustart hast du dann diese Zeit um abzubrechen
Code-Ausschnitt:
CHOICE /c:es /ts,60 - (E)nde oder (S)ichern
echo .
if errorlevel 2 xcopy c:\*.* d:*.*
bei der Eingabe von s oder nach 60 Sekunden startet die Sicherung
wenn es mehrere Zeilen Sicherung sind kann man es auch mit einem Sprung kombinieren (goto ?)
Da muss ich dann aber erst suchen.
Oder jemand kennt sich damit noch besser aus.
Hinweis: CHOICE ist nicht in allen Windows Versionen dabei
Gruß Steffen
Antwort 3 von Elefunty vom 04.08.2019, 13:13 Options
also ich sach das als struktogramm...(nicht als befehle...hab ich kein bock das als batch befehle zu sagen^^, musste halt selbst umsetzen^^)
prüfe, ob in datei xyz.iwas s heutige datum steht.
wenn nicht:
führe sicherung durch;
schreiebe in die datei xyz.iwas das aktuelle datum;
wenn doch:
tue nichts;
ich hoffe, es lässt sich so machen...(Befehler fervügbar usw...)
Ele
Antwort 4 von Bussard vom 04.08.2019, 21:27 Options
Hallo Mikoop!habe mir den Vorschlag von
Elefunty vorgenommen...
du kannst dein Programm durch dieses Batch-Programm starten
@echo off
echo %date% > test2
fc test1 test2 > testx
find "[b]K[/b]eine" testx >pst
if errorlevel 1 goto sichern
if errorlevel 0 goto gesichert
:sichern
call {deine Sicherungroutine .bat}
del test1
ren test2 test1
goto ende
:gesichert
del test2
goto ende
:ende
einzige Bedienung:
du erstellst einmal eine test1-Datei
in der Dosshell mit
echo.>test1
test1 ist altes Datum
test2 ist aktuelles Datum
-fc test1 test2 > testx
vergleiche diese beiden Daten
das umleiten > auf psst hat den Auftrag die Meldung des Befehls FileCompare FC zu unterdrücken
-find "Keine" testx >pst
wenn Kein Unterschied (if errorlevel 0) dann hast Du heute schon gesichert und test2 wird gelöscht
ansonst (errorlevel1) ist zu sichern
(das K bei Keine unbedingt Großzuschreiben)
anschließend wird das aktuelle Datum dein neues "altes Datum"
-del test1
altes datum löschen
ren test2 test1
jetziges datum umbenennen auf test1
sollte so klappen, mir wäre nix Gegenteiliges aufgefallen
LG buzz
Antwort 5 von Bussard vom 05.08.2019, 09:08 Options
kleiner Nachtrag
Zitat:
-fc test1 test2 > testx
vergleiche diese beiden Daten
dass umleiten > auf psst hat den Auftrag die Meldung des Befehls FileCompare FC zu unterdrücken
-find "Keine" testx >pst
wenn Kein Unterschied (if errorlevel 0) dann hast Du heute schon gesichert und test2 wird gelöscht
ansonst (errorlevel1) ist zu sichern
(das K bei Keine unbedingt Großzuschreiben)
Korrektur
find "Keine" testx >pst
das Umleiten > auf psst hat den Auftrag die Meldung des Befehls [b]Find[/b]
unterdrücken
So sollte es heißen...
LG
buzz
Antwort 6 von Mikoop vom 08.08.2019, 20:59 Options
@bussard,
Vielen Dank, es klappt.
Gruss, Mikoop