2

Я работаю на двух (виртуальных) машинах:

  • Сначала это машина Windows 10
  • Во-вторых, машина Windows 7

В обоих форматах короткие даты равны: dd.MM.yyyy
На обоих я запускаю один и тот же пакетный файл, основанный на команде DATE .

У меня есть различия в результатах, связанных с результатом результатов команды DATE :

  • На Windows 10: The current date is: st 22.03.2017
  • В Windows 7: The current date is: 22.03.2017

Как видите, разница связана с наличием сегодняшнего названия (st - сокращение от чешского слова « Wednesday).

Система Windows 10 является главной, поэтому мой вопрос: как я могу изменить систему Windows-7, чтобы включить первые две буквы названия дня?

В качестве тестов я уже пробовал следующее для короткого формата даты:

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.

Тем временем я еще раз рассмотрел проблему: формат даты, кажется, используется в двух местах:

  1. При работе с командой командной строки DATE (там мне нужен формат как
    xx dd.MM.yyyy (что бы это ни было xx) для дальнейшей обработки
  2. Во время следующего echo: for /r %DIRECTORY% %I in ("*.*") do echo %~tfI Идея состоит в том, чтобы показать метку времени и имя файла, что-то вроде:
    22.03.2016 13:50 <filename> (без xx)

2 ответа2

1

В Windows 7 вы должны использовать ddd чтобы иметь аналогичный формат, который составляет 3 символа, а не 2.

Таким образом, вы можете использовать DDD DD.MM.yyyy. Это поддерживаемый формат.

Чтобы получить 2 символа, можно удалить один с помощью командного файла.

0

Какой беспорядок, но я думаю, что нашел решение этой проблемы:

Дело в следующем: в Windows 10 даже при простом формате даты (например, dd.MM.yyyy), в командной строке date /T добавляются первые символы дня, поэтому мы получаем следующее:

date /T
st 22.03.2017

И мои коллеги построили свои пакетные файлы вокруг присутствия этих "st" персонажей. Запуск этих пакетных файлов в более низких версиях Windows приводит к упомянутым проблемам.

В начале пакетных файлов я добавил строку:

DATE=xx %DATE%

(очень по-детски, я признаю)
Это заставляет пакетные файлы работать на моем компьютере с Windows-7.
Чтобы заставить его работать в обеих системах, мне просто нужно добавить проверку на платформе, что-то вроде:

set WINDOWS_10=%ver | findstr /C:"Version 10"%
if "WINDOWS_10"=="" (
  set DATE=xx %DATE%)

Я еще не проверял это на ПК с Windows-10, но я верю, что это поможет.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .