Robocopy Backupscript Datumsauswertung

Mitglied: SuperSonic

SuperSonic (Level 1) - Jetzt verbinden

24.11.2011, aktualisiert 18.10.2012, 4010 Aufrufe, 20 Kommentare

Problem mit der Datumsauswertung.

Ich bräuchte mal eine kleine hilfe, irgendwie stehe ich gerade auf dem Schlauch.
Mein Backupscript wertet das Datum aus dieses wird dann in die Variable WoTa reinschrieben.

Wenn ich diese Variable ausgebe, sagt er mir auch das heute Donnerstag ist.

Allerdings unten in meiner IF Abfrage... verwendet er immer den Montag und nicht den Donnerstag, somit wird mein Backupverzeichnis ins Verzeichnis Montag kopiert.
Ich komm im moment nicht auf den Fehler.

Das Script ist noch im Aufbau, also haut mich nicht :-) face-smile

Danke schonmal...
Kommentar vom Moderator Biber am 29.11.2011 um 19:31:55 Uhr
Verschoben von "Backup" nach "Bätsch".
Mitglied: Skyemugen
24.11.2011, aktualisiert 18.10.2012
Aloha,

  1. Dein Problem sind die aufeinanderfolgenden Sprungmarken mit halbfertigen if-Abfragen, wenn ich das Datum am Rechner ändere, sodass ein anderer WoTa ensteht, gibt er mir per echo %WoTa% auch den korrekten Wochentag aus.
.......Da deine if-Abfragen kein else beinhalten ... springen die trotzdem in den Tag, sprich if %WoTa% nicht Montag, geht er einfach weiter und arbeitet dennoch :Montag ab (und die ganze Reihe runter)
  1. Was machst du nächstes Jahr? => Schaltjahr
  2. Batch und Datum ... na egal,

wenn du schon das Skript aus diesem Thread nimmst und mit robocopy arbeitest, warum nutzt du dann nicht das zweite Skript von Biber, was simpler und sicherer ist?

Sicherer wäre es dann wohl auch, wenn du deine if-Abfragen einfach weglässt und nur goto %WoTa% nutzt ;-) face-wink und am Ende jeweiliger Sprungmarke ein goto :eof einfügst (und damit das Skript beendest)

greetz André

P.S.: Wir mögen hier eigentlich, dass man uns vorher begrüßt, bevor man uns auf sein Problem loslässt ...
Bitte warten ..
Mitglied: SuperSonic
24.11.2011 um 13:43 Uhr
Danke erstmal für deine Antwort.

Nachdem ich noch ein paar Minuten drüber nach gedacht habe... kam die sache auch mit dem IF ELSE... allerdings wenn das nette Ding so verschachtel...
funktioniert die Sache auch nicht... wahrscheinlich stelle ich mich etwas zu blöde an.

Was deine andere Punkte angeht, da werd ich mir sicherlich nochmal Gedanken drüber machen...
Sollte jetzt erstmal nur ein Testlauf mit dem Script sein...
Bitte warten ..
Mitglied: Skyemugen
24.11.2011 um 13:48 Uhr
Sicherer wäre es dann wohl auch, wenn du deine if-Abfragen einfach weglässt und nur goto %WoTa% nutzt face-wink und am Ende jeweiliger Sprungmarke ein goto :eof einfügst (und damit das Skript beendest)

wobei ... nutze %WoTa% doch einfach im Pfad ...
btw:
%RC_path%%Quelle% %bck_Do% %Copy_MoFr%
Und das steht auch bei Freitag ...

und wo verwendest du eigentlich %Copy_Fr%?
Bitte warten ..
Mitglied: SuperSonic
24.11.2011 um 20:19 Uhr
Also, irgendwie funktioniert das alles so nicht wie ich will... auch wenn ich das Umstelle... jetzt bin ich echt Verzweifel :-( face-sad
Bitte warten ..
Mitglied: Skyemugen
24.11.2011 um 20:40 Uhr
... naja sei froh, dass T-Mo nicht vorbeiguckt und dir dein €echo off über den Schädel zieht ^__^
Bitte warten ..
Mitglied: Biber
29.11.2011 um 19:30 Uhr
Moin SuperSonic,

Zitat von @SuperSonic:
Also, irgendwie funktioniert das alles so nicht wie ich will... auch wenn ich das Umstelle... jetzt bin ich echt Verzweifel :-( face-sad

Falls denn das Problem noch besteht, dann poste doch bitte mal den jetzigen Schnipsel-Entwurf.

Dann ziehen wir das glatt.

Ich verschiebe den Beitrag schon mal von "ich hätte lieber Bäckupper werden sollen" nach "Bäck in Hell".

Grüße
Biber

P.S. Und keine Angst - niemand wird T-Mo holen... ;-) face-wink
Bitte warten ..
Mitglied: SuperSonic
29.11.2011 um 21:11 Uhr
hallo, biber...

ich versuch das ganze Ding jetzt in VBS zuschreiben. Hab allerdings nicht so viel Erfahrung in VBS.

Bis jetzt sieht der Code so aus:


Wollte dann für jeden Tag eine Prozedur schreiben, allerdings ist mir noch nicht so ganz klar, wie ich, oben bei If Weekday(Heute) =vbSunday Then <Prozeduraufruf> reinschreibe.

wäre das so realisierbar, oder bin ich wieder auf dem falschen Weg :-) face-smile ?!
Bitte warten ..
Mitglied: Biber
30.11.2011 um 15:22 Uhr
Moin SuperSonic,

langsam, langsam.....

Es bringt für das konkrete Anliegen ja nichts, wenn du da eine VBSkript-Hülse drumstrickst statt ein Batch-Mäntelchen.

Was doch eigentlich passieren soll, wenn wir mal die Schörkel weglassen:
Am Ende des Tages soll eine RabottiCopy.exe gestartet werden. Fertig.

Ob ich dat Dingen aus einem Batch oder aus VBS heraus aufrufe....
... ich sach mal so: auch zum Öffnen meines sonntäglichen Frühstückeis stehen mir Werkzeuge vom Plastiklöffel bis zum Gabelstapler zur Verfügung.
Ich würde es aber nicht zu aufwendig angehen.

Das Problem in deiner Batchvariante ist doch nicht die Ermittlung des Wochentages - den bekommst du doch irgendwie.
Das Problem ist, dass du beim Auffächern der 7-Wochentage-7-Möglichkeiten offensichtlich nicht alle 7 Varianten gleichzeitig im Auge behalten kannst und dir immer ein oder zwei davon auf die Füsse fallen.

Also entzerre doch dieses Gestrunkele:
---> analog zu Skyes Vorschlag...


Grüße
Biber
Bitte warten ..
Mitglied: Skyemugen
30.11.2011 um 15:27 Uhr
Aloha Biber,

naja nur dass ich auch meinte - sinnvollerweise Zeile 32 als

zu nutzen, denn so benötigt er wirklich nur noch eine Zeile, denn deine eine ist nur für Montag gültig ;-) face-wink und so spart man sich auch weitere 5 Zeilen im Skript *gg*

greetz André
Bitte warten ..
Mitglied: Biber
30.11.2011 um 15:39 Uhr
Upps, Skye,

hatte ich auch grad beim Korrekturlesen meines Beitrags gemerkt und korrigiert - wahrscheinlich während du (zu Recht) deinen Kommentar getippselt hast.

Ist bei mir oben auch korrigiert mitterweile.

Danke & Grüße
Biber
Bitte warten ..
Mitglied: SuperSonic
30.11.2011 um 16:38 Uhr
Hmm, also irgendwie bin ich etwas verwirrt.
Du hast natürlich jetzt noch eine Selektierung für Samstag und Sonntag gemacht, das da kein Backup statt findet. Soweit so klar.
jetzt nimmst du die Variable WoTa und setzt sie praktisch unten in die Robocopy commandline somit wird gleich der Aktuelle Wochentag verwendet und ich muss mich nicht mehr mit meinem IF-Schleifen rumqäulen?
Bitte warten ..
Mitglied: Skyemugen
30.11.2011, aktualisiert 18.10.2012
... genau das habe ich dir bereits mehrfach geschrieben mit samt Codebox wie du in diesem Beitrag hättest lesen müssen ...

ist doch eigentlich nicht so schwer zu verstehen ... genau dazu hat man doch Variablen
Bitte warten ..
Mitglied: Biber
30.11.2011 um 17:01 Uhr
Moin SuperSonic,

Zitat von @SuperSonic:
>... jetzt nimmst du die Variable WoTa und setzt sie praktisch unten in die Robocopy commandline somit wird gleich der Aktuelle
Wochentag verwendet und ich muss mich nicht mehr mit meinem IF-Schleifen rumqäulen?

Genau das war das Wesentliche.

Skye hat es handwerklich noch etwas sauberer/sicherer gemacht in seiner Zeile
.... durch die umschliessenden Anführungszeichen rund um das Kopierziel.
Ebenso sollte auch der Parameter %Quelle% in Anführungszeichen geschrieben werden wegen eventueller Leerzeichen im Pfadnamen.
Das ist aber alles vergleichsweise kosmetisch - wesentlich war das Lernziel
"Sieben mögliche Usecases bedeuten nicht zwangsläufig sieben einzelne Sub-Prozeduren.
Wenn denn 5 Fälle (Mo-Fr) gleich zu behandeln sind und zwei andere Wochentage auch gleich (Sa+So), dann brauche ich keine 7 Variationen, sondern zwei."


Falls du dich unbedingt in IF -Verzweigungen üben willst -- ein IF-Fall wäre ja noch abzubilden.
Die Freitagssicherung ist ja - zumindest in deinem Eröffnungsbeitrag - eine Sonderlocke -> dafür fehlt noch ein IF-Konstrukt.

Grüße
Biber
Bitte warten ..
Mitglied: Skyemugen
30.11.2011 um 17:09 Uhr
Zitat von @Biber:
Die Freitagssicherung ist ja - zumindest in deinem Eröffnungsbeitrag - eine Sonderlocke -> dafür fehlt noch ein IF-Konstrukt.

Aloha Biber,

ich hielt das eher für einen Fauxpas TEseits ;-) face-wink Ich bezweifle, dass er zweimal Donnerstag kopieren will ;-) face-wink er macht lieber neue Threads auf *fg*

greetz André
Bitte warten ..
Mitglied: 60730
60730 (Level 5)
30.11.2011 um 17:28 Uhr
moin,

Zitat von @Biber:
P.S. Und keine Angst - niemand wird T-Mo holen... ;-) face-wink

[OT]
Meinst du - sobald du das zu den anderen nach "Bätsch" verschiebst - kommt der von alleine?
Bin ich schon so vorhersehbar?
[/OT]

[1/2 OT]
André hats ja schon bemerkt, aber
set /a "TwoDigitYearMax=2038%%1000"
liefert bei mir schon ein € ins Sparschwein. Und man heute wirklich noch eine Batch bauen soll, die eventuell das aktuelle datum mit einer 19xx voranstellt?
[/1/2 OT]


Ich würd mir den ganzen Schmodder sparen, eine Hauptbatch (etwas mehr als einen 3Zeiler) zimmern, jeden Tag einen eigenen Schedjob anlegen, der gleich als Parameter Montaach;Dienstaach usw. mitliefert und den via %1 auswertet..

Ist aber wahrscheinlich viel zu einfach ;-) face-wink

Gruß
Bitte warten ..
Mitglied: SuperSonic
30.11.2011 um 17:31 Uhr
Sorry, ich weiss jetzt was du meinst, ich war wohl etwas geblendet, von meiner tollen Lösung :-) face-smile
Bitte warten ..
Mitglied: SuperSonic
30.11.2011 um 17:32 Uhr
Stimmt, freitag wollte ich ein Vollbackup machen... da kann ich ne IF-abfrage reinknallen.
Bitte warten ..
Mitglied: SuperSonic
30.11.2011 um 17:33 Uhr
hmmm, ok.. so würd ich es unter Linux machen, aber net unter Windows :-) face-smile
Bitte warten ..
Mitglied: 60730
60730 (Level 5)
30.11.2011 um 18:10 Uhr
Zitat von @SuperSonic:
hmmm, ok.. so würd ich es unter Linux machen, aber net unter Windows :-) face-smile

grübel....

Also ausgerechnet unter Tux wo das mit dem Wochentag Schnickschnack ist?

BTW unter Tux heißt .net mono und weder das eine noch das andere braucht man für das problemchen.

Schade, dass du nicht auf die anderen Zeilen eingehst, Da Leg ich mich wieder hin.
Bitte warten ..
Mitglied: Biber
30.11.2011 um 18:22 Uhr
Zitat von @SuperSonic:
hmmm, ok.. so würd ich es unter Linux machen, aber net unter Windows :-) face-smile

Na ja,

T-Mos Jeden-Tag-einen-eigenen-Schedjob-anlegen-Lösung, kombiniert mit meinen Ausführungen bzgl "es gibt eigentlich nur 2 Usecases" führt doch zu den Schluss:

  • wenn du einen Scheduler-Job anlegst für Montag bis Donnerstag (der den Wochentag ermitteln muss)
  • und einen Scheduler-Job anlegst für Freitag, der nur Freitags startet und deshalb automatisch den Wochentag "Freitag" weiss
  • und definitiv keinen Job anlegst, der Samstag und Sonntag läuft...

--> dann hast du doch dein 7-Wochentagsproblem auf zwei Fälle reduziert.
Du hast eine einzige Sourcecodestelle, in der du gegebenfalls den Wochentagermittlungsalgorithmus anpassen musst
( wegen unerwartet auftretendem Schaltjahr oder weil wir zur Euro-Rettung einen Wochentag mehr bekommen oder ähnlichem.)
--> die Pfleg- und Wartbarkeit ist gegeben.

Und du hast als zweites einen strunzdoofen Freitagsjob, dem du jedesmal als festen Parameter mitgibst, welcher Tag nun ist.

Ist doch um Welten besser als deine sieben IF-Jonglierbälle gleichzeitig in der Luft.

Grüße
Biber
Bitte warten ..
Heiß diskutierte Inhalte
Windows 10
PDF automatisch auf zwei Drucker aufteilen
hannes.pVor 1 TagFrageWindows 109 Kommentare

Hallo zusammen, ich suche verzweifelt nach einer Möglichkeit, ein von einer Web-Anwendung generiertes PDF automatisch auf zwei Drucker drucken zu lassen. Das PDF Dokument ...

Microsoft
Erwerb von M365 Lizenzen, Partner Autorisierung für Azure AD - Globaler Administrator wirklich nötig?
NidavellirVor 1 TagFrageMicrosoft4 Kommentare

Hi zusammen, bitte entschuldigt den etwas sperrigen Titel, aber ein knapperer wollte mir nicht einfallen. :D Wir wollen bei einem Systemhaus M365 Lizenzen (Business ...

Windows 10
Sperrbildschirm nach 5 min
ZeppelinVor 1 TagFrageWindows 1012 Kommentare

Hallo zusammen, ich wende mich mit meinem anliegen an euch weil ich mit meinen Möglichkeiten am Ende bin. Wenn innerhalb von 5 min. keine ...

Speicherkarten
Welchen USB Stick für Bootstick?
gelöst dlnkrgVor 1 TagFrageSpeicherkarten6 Kommentare

Hallo, Ich bin auf der Suche nach USB - Sticks, auf denen ich Linux Ubuntu installieren kann und praktisch als Festplatte für das Betriebssystem ...

Off Topic
BKA und der Bundestrojaner
brammerVor 1 TagInformationOff Topic3 Kommentare

Hallo, habe kurz überlegt ob das unter Off Topic allgemein oder Off Topic LOL gehört brammer

Windows Netzwerk
Sporadisch kein Netz auf mehreren Win10-Maschinen
SolarflareVor 18 StundenFrageWindows Netzwerk6 Kommentare

Hallo, ich habe seit Monaten einen eigenartigen Effekt in unserem Windows-Netz. Windows-Domäne mit ca. 100 Maschinen, alle Clients aktuelles Windows 10. Die Maschinen hängen ...

Sicherheit
Emails als Nur Text
Jessica98Vor 1 TagFrageSicherheit4 Kommentare

Hallo zusammen, macht es Sinn E-Mails als nur Text einzustellen, um sich vor schädlichen HTML-Code zu schützen? Meines Erachtens wird ein Benutzer diese Email ...

Windows 7
Userpfad Problem nach Aenderung des Computernamens
BernerVor 1 TagFrageWindows 78 Kommentare

In einem Netzwerk von 9 PCs sind 9 Ersatz-PCs eingebunden, bei denen im Bedarfsfall vor dem Einsatz nur der Computername und die IP-Adresse angepasst ...