Batch Befehl Datum englisches oder deutsches Format erkennen

...komplette Frage anzeigen

7 Antworten

echo %date% | findstr "/" >nul 2>nul || set Sprache=Deutsch

if "%Sprache%" == "Deutsch" set Tag=%date:~0,2%
if "%Sprache%" == "Deutsch" set Monat=%date:~3,2%

if not "%Sprache%" == "Deutsch" set Tag=%date:~3,2%
if not "%Sprache%" == "Deutsch" set Monat=%date:~0,2%

set Jahr=%date:~5,4%

"findstr" sucht einen Schrägstrich im Datum. Falls der Befehl nicht erfolgreich ist ( || ) ist das Datum deutsch.

Das funktioniert wenn man es etwas abwandelt danke!

0

Also wenn dir ein VisualBasicScript reicht, dann kannst du das Format so auslesen:

Sub RegistryDateFormat()
    Dim oShell
    Dim sLangesDatum
    Dim sKurzesDatum
    
    Set oShell = CreateObject("WScript.Shell")
    
    sLangesDatum = oShell.RegRead("HKEY_CURRENT_USER\Control Panel\International\sLongDate")
    sKurzesDatum = oShell.RegRead("HKEY_CURRENT_USER\Control Panel\International\sShortDate")
    
    if sLangesDatum = "" then _
        sLangesDatum = oShell.RegRead("HKEY_USERS\.DEFAULT\Control Panel\International\sLongDate")
    if sKurzesDatum = "" then _
        sKurzesDatum = oShell.RegRead("HKEY_USERS\.DEFAULT\Control Panel\International\sShortDate")
        
    MsgBox "Langes Datumsformat: " & sLangesDatum & vbCrLf & "Kurzes Datumsformat: " & sKurzesDatum
        
    Set oShell = Nothing
End Sub

Das ganze ist für eine batch die in usa und Deutschland läuft und Deutschland ist das Format (dd.mm.yyyy) in usa ist das Format (mm/dd/yyyy) Real sieht es für heute dann sogar so aus (Mon 12/15/2014)

Egal wo die batch läuft es soll immer ein Dateiname mit dem aktuellen Datum erweitert werden also Datei_ddmmyyyy.txt

Das jeweilige ausrodeten läuft aber ich muss unterscheiden welches Format aktiv ist

Ich würde versuchen diese mit einem regulärem Ausdruck zu überprüfen wenn die Formate wirklich fest stehen.

Script ist etwas doof? Kann man da nicht irgendwie die Länge der %date Variable rausbekommen

Wenn lange gleich 8 ist es Deutsch sonst Englisch

Aber die länge ist auch Tricks raus zu bekommen

Kannst du mir da ein Beispiel tippen? Wäre super ich Kriegs nicht hin :-(

Was möchtest Du wissen?