Windows-10-Batchdateien basieren auf dem DATE-Befehl. Verwendung unter niedrigeren Windows-Versionen

Windows-10-Batchdateien basieren auf dem DATE-Befehl. Verwendung unter niedrigeren Windows-Versionen

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 DATEErgebnissen 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 ( stist 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:

  1. Bei der Arbeit mit dem DATEKommandozeilenbefehl (da brauche ich ein Format wie
    xx dd.MM.yyyy(was auch immer das xxsein mag) für die weitere Verarbeitung
  2. 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>(ohne xx)

Antwort1

Unter Windows 7 müssen Sie dddein ä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 /Tdie 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.

verwandte Informationen