
Ich arbeite an zwei (virtuellen) Maschinen:
- Erstens ist eine Windows 10-Maschine
- Zweitens ist eine Windows 7-Maschine
Auf beiden sind die kurzen Datumsformate gleich: dd.MM.yyyy
Auf beiden führe ich basierend auf dem Befehl dieselbe Batchdatei aus DATE
.
Bei mir treten Unterschiede in den Ergebnissen auf, die mit den DATE
Ergebnissen der Befehle zusammenhängen:
- Unter Windows 10:
The current date is: st 22.03.2017
- Unter Windows 7:
The current date is: 22.03.2017
Wie Sie sehen, ist der Unterschied auf das Vorhandensein des heutigen Namens zurückzuführen ( st
ist eine Abkürzung des tschechischen Wortes für Wednesday
).
Das Windows 10-System ist das Master-System, daher meine Frage: Wie kann ich das Windows 7-System so ändern, dass die ersten beiden Buchstaben des Tagesnamens einbezogen werden?
Als Tests habe ich bereits Folgendes für ein kurzes Datumsformat ausprobiert:
dd dd.MM.yyyy // this is better, the length of the format is good,
but it does not start with the initials of the day's name.
dddd dd.MM.yyyy // this starts with the day's name, but completely,
and I only want the first two letters.
Mittlerweile habe ich mir das Problem genauer angeschaut: Das Datumsformat scheint an zwei Stellen verwendet zu werden:
- Bei der Arbeit mit dem
DATE
Kommandozeilenbefehl (da brauche ich ein Format wiexx dd.MM.yyyy
(was auch immer dasxx
sein mag) für die weitere Verarbeitung - Im Folgenden
echo
:for /r %DIRECTORY% %I in ("*.*") do echo %~tfI
Die Idee ist, einen Zeitstempel und den Dateinamen anzuzeigen, etwa so:
22.03.2016 13:50 <filename>
(ohnexx
)
Antwort1
Unter Windows 7 müssen Sie ddd
ein ähnliches Format verwenden, also 3 Zeichen und nicht 2.
Sie können alsott tt.MM.jjjj. Das ist das unterstützte Format.
Eine Möglichkeit, dort auf 2 Zeichen zu kommen, besteht darin, eines mit einer Batchdatei zu entfernen.
Antwort2
Was für ein Durcheinander, aber ich glaube, ich habe eine Lösung für das Problem gefunden:
Der Punkt ist der folgende: Unter Windows 10 fügt die Befehlszeile sogar bei einem einfachen Datumsformat (wie dd.MM.yyyy
) date /T
die ersten Zeichen des Tages hinzu, sodass wir Folgendes erhalten:
date /T
st 22.03.2017
Und meine Kollegen haben ihre Batchdateien um die Anwesenheit dieser „st“-Zeichen herum aufgebaut. Das Ausführen dieser Batchdateien auf niedrigeren Windows-Versionen führt zu den genannten Problemen.
Am Anfang der Batchdateien habe ich die Zeile hinzugefügt:
DATE=xx %DATE%
(sehr kindisch, gebe ich zu)
Dadurch funktionieren die Batchdateien auf meinem Windows-7-Computer.
Damit es auf beiden Systemen funktioniert, muss ich nur eine Prüfung auf der Plattform hinzufügen, etwa so:
set WINDOWS_10=%ver | findstr /C:"Version 10"%
if "WINDOWS_10"=="" (
set DATE=xx %DATE%)
Ich habe es noch nicht auf einem Windows 10-PC getestet, aber ich glaube, dass es damit funktionieren wird.