Top-Themen

Aktuelle Themen (A bis Z)

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit

gelöst Wochentag per Batch ermitteln

Mitglied: fugu

fugu (Level 2) - Jetzt verbinden

12.02.2008, aktualisiert 18.10.2012, 47424 Aufrufe, 6 Kommentare

Moinz Leute,

jetzt quäle ich mich seit geraumer Zeit durch das "Umgang mit Datum und Zeit - Tut" und habe leider glaub ich nur noch Holzwolle im Kopf...
Sehe ich das richtig? Es lässt sich - wenn die Ausgabe von "date" nur das reine Datum beinhaltet (ohne Wochentag) nicht mal eben der Wochentag ermitteln?
Oder lässt sich das doch mit akzeptablen Aufwand machen?
Ich brauche den Wochentag (alternativ eine Tagesnummer) als Variable...

Thx Fugu
Mitglied: miniversum
12.02.2008 um 16:11 Uhr
In dem Tutorial andem Du bist gibt es ca in der Mitte folgenden Teil:
Beispiel Berechnung Wochentag aus einem Datum mit Bordmitteln:

:: --- snipp GetDoW-Codeschnipsel.bat
:: Berechnet den DoW / Tag der Woche als numerischen Wert 1=Montag...7=Sonntag
:: IN-Parameter: Para 1-3 yy, mm, dd ( Jahr 2 oder 4stellig, Monat, Tag (mit/ohne führende "0" egal)
:: ..............Para 4 ist ein Variablennamen für den DoW/TachDerWoche
:: ..............Optional: Para 5 die Datumsgrenze (z.B. TwoDigitYearMax aus der REG).
::...............Mein Default (vollkommen willkürlich) 2038
:: ich mach hier KEINE Parameterüberprüfung und ähnliches, soll ja später nicht als eigenständiger Batch verwendet werden.
:: Algorithmus frei nach Batch Function Library for Windows NT4/2000/XP/2003
@echo off & Setlocal
IF [%5]==[] (set /a "TwoDigitYearMax=2038%%1000") Else set /a TwoDigitYearMax=%5%%1000
set yy=%1 & set mm=%2 & set dd=%3
if 1%yy% LSS 200 if 1%yy% LSS 1%TwoDigitYearMax% (set yy=20%yy%) else (set yy=19%yy%)
set /a dd=100%dd%%%100,mm=100%mm%%%100
set /a z=14-mm,z/=12,y=yy+4800-z,m=mm+12*z-3,dow=153*m+2
set /a dow=dow/5+dd+y*365+y/4-y/100+y/400-2472630,dow%%=7,dow+=1
endlocal&Set %4=%dow%&goto :EOF
:: --- snipp GetDoW-Codeschnipsel.bat

Aufruf und Output wären zum Beispiel (setzen einer numerischen Wochentagsvariablen für den 2.Oktober 2005)

>getDow 2005 10 2 nWochentag
nWochentag=7

Das ist doch was du haben willst oder?

miniversum
Bitte warten ..
Mitglied: fugu
12.02.2008 um 16:25 Uhr
Sorry, nein, das ist es nicht.
Ich hab's vorerst mit dem BatchEnhancer gelöst. Schön finde ich das nicht, weil's damit nicht sofort und universell einsetzbar ist.

Was ich möchte ist einen Kopiervorgang anstossen, der automatisch in einen Ordner mit Namen des Wochentages sichert.
Montag, Dien...., Samstag
Und dann am nächsten Montag den Montagsordner aktualisiert (robocopy /mir)

fugu
Bitte warten ..
Mitglied: miniversum
12.02.2008 um 19:30 Uhr
Hier mal das ganze etwas aufbereitet:
01.
@echo off 
02.
 
03.
REM Hier eventuell Reihenfolge und delims anpassen 
04.
FOR /F "tokens=1,2,3 delims=." %%a in ('echo %date%') do set yy=%%c & set mm=%%b & set dd=%%a 
05.
 
06.
set /a "TwoDigitYearMax=2038%%1000" 
07.
if 1%yy% LSS 200 if 1%yy% LSS 1%TwoDigitYearMax% (set yy=20%yy%) else (set yy=19%yy%) 
08.
set /a dd=100%dd%%%100,mm=100%mm%%%100 
09.
set /a z=14-mm,z/=12,y=yy+4800-z,m=mm+12*z-3,dow=153*m+2 
10.
set /a dow=dow/5+dd+y*365+y/4-y/100+y/400-2472630,dow%%=7,dow+=1 
11.
 
12.
If %dow% equ 1 set "WoTa=Montag" 
13.
If %dow% equ 2 set "WoTa=Dienstag" 
14.
If %dow% equ 3 set "WoTa=Mittwoch" 
15.
If %dow% equ 4 set "WoTa=Donnerstag" 
16.
If %dow% equ 5 set "WoTa=Freitag" 
17.
If %dow% equ 6 set "WoTa=Samstag" 
18.
If %dow% equ 7 set "WoTa=Sonntag" 
19.
 
20.
echo Heute ist ein %WoTa%
Die Forschleife muß eventuell angepast werden, je nach dem ob %date% bei dir tt.mm.yyyy oder mm-tt-yyyy oder wie auch immer formatiert ist. Hier ist es für tt.mm.yyyy also z.B. 12.02.2008 gemacht.
%WoTa% gibt dir wie du siehst den Wochentag als Name zurück, %dow% als Tag der Woche als Zahl zwischen 1 und 7.

miniversum
Bitte warten ..
Mitglied: Biber
12.02.2008 um 22:42 Uhr
Moin fugu,

ich versteh das ganze Problem in mehrfacher Hinsicht überhaupt nicht.

Vielleicht bin ich damals bei dem Tut damals zu sehr abgedriftet, aber eine der zentralen Aussagen sollte gewesen sein:

Was immer im Batch/am CMD-Prompt als Datumswert angezeigt wird, es ist Prosa, Lyrik, Text - es lässt sich nicht damit rechnen.

Es ist nun mal nicht möglich, von einem Text "11.12.2007" auf den Tag der Woche, auf gestern, auf das vierte Quartal, auf den Monat Dezember zu kommen, es sei denn, dieser Zehn-Zeichen-Text wird dreisterweise als (gültiger) Datumswert unterstellt und einem Werkzeug übergeben, welches mit Datums-Datentypen umgehen kann. Z.B. VBScript.

Nochmal:
  • von einer Textvariablen "12.02.2008" auf den Text "Dienstag" kommen -----> geht eigentlich nicht.
  • von einem Datumswert 12.02.2008 auf den Text "Dienstag" zu kommen -->geht. Aber nur in einem Universum, in dem es den Datentyp "Datum" gibt. Also jenseits der CMD.exe.

Für deinen Zweck - für Robocopy den Namen des Wochentags ermitteln, weil der Sicherungsordner so heißt - brauchst du nur Robocopy selbst.

01.
::--- GetWochentagViaRobocopy.cmd 
02.
@echo off & setlocal 
03.
REM Der Befehl "robocopy /?|find "Started" " gibt eine Zeile dieser Form zurück: 
04.
REM   Started : Tue Feb 12 22:10:06 2008 
05.
REM 
06.
for /f "tokens=3" %%i in ('robocopy /?^|find "Started"') do ( 
07.
    IF "%%i" == "Mon" set "woTag=Montag" 
08.
    IF "%%i" == "Tue" set "woTag=Dienstag" 
09.
    IF "%%i" == "Wed" set "woTag=Mittwoch" 
10.
    IF "%%i" == "Thu" set "woTag=Donnerstag" 
11.
    IF "%%i" == "Fri" set "woTag=Freitag" 
12.
    IF "%%i" == "Sat" set "woTag=Samstag" 
13.
    IF "%%i" == "Sun" set "woTag=Sonntag" 
14.
15.
 
16.
Echo Wochentag laut Robocopy ist [%woTag%]
Ausgabe:
01.
>getWochentagViaRobocopy.cmd 
02.
Wochentag laut Robocopy ist [Dienstag]
Grüße
Biber
Bitte warten ..
Mitglied: fugu
15.02.2008 um 11:12 Uhr
Thx euch beiden!!

@Biber: Wie kann man nur so krumm denken??? Geile Lösung!!!

Fugu
Bitte warten ..
Ähnliche Inhalte
Batch & Shell

Batch oder PS um Datenvolumen zu ermitteln

gelöst Frage von rudeboyBatch & Shell13 Kommentare

Guten Morgen zusammen, ist es möglich mit Hilfe von Batch oder PS-Skript die über die Netzwerkschnittstelle übertragene Datenmenge zB ...

Batch & Shell

Batch - Differenz zwischen zwei Zeilen ermitteln

Frage von ooDavidBatch & Shell3 Kommentare

Hi, ich habe ein Textfile in der in jeder Zeile eine Zahl steht (Sekunden). 380 428 455 458 464 ...

Batch & Shell

Batch - Laufwerksbuchstaben ermitteln, findstr buchstäblich

gelöst Frage von m.fesslerBatch & Shell2 Kommentare

Einen schönen guten Tag, möchte in einer Batch den Laufwerksbuchstaben eines bestimmten Laufwerks ermitteln. Derweil habe ich: Allerdings habe ...

Batch & Shell

In einer Batch variable die Datei extension ermitteln ?

gelöst Frage von KriegstreiberBatch & Shell4 Kommentare

Servus, wieder einmal stehe ich vor einem Dilemmer wo die Lösung wahrscheinlich naheliegend ist, ich aber trotzdem nicht drauf ...

Neue Wissensbeiträge
Backup

2016 - Restore mit WBAdmin - iSCSI Device als Sicherungsziel

Erfahrungsbericht von Henere vor 2 TagenBackup1 Kommentar

Servus zusammen, was mich eben einige graue Haare gekostet hat Server 2016. Ich habe meinem Server eine weitere M2 ...

Humor (lol)
(Part num your Hacked phone. +XX XXXXXX5200)
Erfahrungsbericht von Henere vor 4 TagenHumor (lol)10 Kommentare

Mein Handy hat aber ne ganz andere Endnummer. Muss ich mir jetzt Sorgen machen ? :-) Vielleicht betrifft es ...

Exchange Server

Letztes Update für Exchange 2016 CU9 war in gewisser Weise destruktiv

Erfahrungsbericht von DerWoWusste vor 4 TagenExchange Server9 Kommentare

Kurzer Erfahrungsbericht zu Exchange2016-KB4340731-x64 Der Exchangeserver hat wie gewöhnlich versucht, es in der Nacht automatisch zu installieren - abgesehen ...

Erkennung und -Abwehr

Neue Sicherheitslücke Foreshadow (L1TF) gefährdet fast alle Intel-Prozessoren

Information von Frank vor 5 TagenErkennung und -Abwehr3 Kommentare

Eine neue Sicherheitslücke, genannt Foreshadow (alias L1TF) wurde auf der Usenix Security 18 von einem Team internationaler Experten veröffentlicht. ...

Heiß diskutierte Inhalte
E-Mail
Deutsche e-Mail Adresse auf iPhone in Katar. Nur Probleme
gelöst Frage von vanTastE-Mail32 Kommentare

Moin, ich habe hier in Deutschland auf einem Exchange 2013 eine e-Mail Adresse (name@domain.de) für einen Kollegen in Katar ...

Windows Server
Domäne beitreten nicht möglich, unter VMWare windows Server 2016 Core
Frage von AmanuelWindows Server21 Kommentare

Ich habe auf meinem Mac unter VMWare Windows Server 2016 Core und Windows Server 2016 Desktopversion installiert. Beide Systeme ...

Windows Server
Server verliert Dateien und Ordner
gelöst Frage von routeserverWindows Server18 Kommentare

Hallo Freunde, ich habe hier ein Problem, das mich an meine Grenzen treibt und ich würde gerne wissen, ob ...

Windows Tools
User Self Service und Client Management
Frage von OrkansonWindows Tools14 Kommentare

Hallo zusammen, ich hab ein paar verschiedene Fragen: 1. Was benutzt ihr um Software im Unternehmen zu verteilen? 2. ...