|
Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » CMD/BAT - [решено] проблема с датой |
|
CMD/BAT - [решено] проблема с датой
|
Ветеран Сообщения: 508 |
Профиль | Отправить PM | Цитировать всем привет.
коллеги, объясните почему: если час содержит два числа, т.е. с 10 до 24 если час содержит одно число, т.е. с 0 до 10 как так?! и что делать? |
|
Отправлено: 11:05, 28-10-2019 |
Ветеран Сообщения: 2708
|
Профиль | Отправить PM | Цитировать chek, Проблема в настройке формата отображения даты и времени в системе - посмотрите, как у Вас установлено.
Я обычно настраиваю форматы dd.MM.yyyy HH:mm:ss Для ясности сделайте Echo "%Date%" "%Time%" для разных значений дат и времени. Увидите, что позиции компонентов даты и времени разные, в зависимости от количества в них цифр. Если эти манипуляции с датой/временем надо для командного файла, то, чтобы не зависеть от этой настройки, я предпочитаю: Выделенные строки носят иллюстративный характер и для логики работы не нужны. |
------- Последний раз редактировалось megaloman, 28-10-2019 в 13:18. Отправлено: 13:10, 28-10-2019 | #2 |
Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети. Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля. |
Ветеран Сообщения: 508
|
Профиль | Отправить PM | Цитировать так команда у меня выдает результат, это видно из последнего примера, а вот если целиком строку, то нет.
Echo "%Date%" "%Time%" будет разный, т.к. количество символов в time меньше, это понятно. но какая разница сколько этих символов выводить в ответ? |
Отправлено: 14:54, 28-10-2019 | #3 |
Сообщения: 53175
|
Профиль | Отправить PM | Цитировать chek, у вас же нет команды Echo, в приведённом вами фрагменте попытка выполнить код.
Фактически там запуск: 2019.10.25_ 9.22 с пробелом, который cmd вставляет в %Time% при формате H:mm:ss, если H < 10. |
Последний раз редактировалось Petya V4sechkin, 28-10-2019 в 15:23. Отправлено: 15:11, 28-10-2019 | #4 |
fascinating rhythm Сообщения: 6491
|
Профиль | Отправить PM | Цитировать |
|
------- Отправлено: 15:19, 28-10-2019 | #5 |
Ветеран Сообщения: 2708
|
Профиль | Отправить PM | Цитировать chek, Жить надо честно! Вы писАли:
Цитата chek:
Цитата chek:
Цитата:
Когда в часе 1 символ, перед ним присутствует пробел (2019.10.28_ 5.25), а когда 2 - пробела нет (2019.10.28_15.25). Соответственно, в первом случае присутствует попытка интерпретировать первую команду до пробела, а хвост интерпретатору уже не интересен. И в любом случае Вы получаете сообщение об ошибке выполнения - нет таких команд. Вот если бы Вы написАли Echo %DATE:~6,4%.%DATE:~3,2%.%DATE:~0,2%_%TIME:~0,2%.%TIME:~3,2% всё было бы корректно 2019.10.28_ 5.25 |
|||
------- Последний раз редактировалось megaloman, 28-10-2019 в 15:46. Отправлено: 15:38, 28-10-2019 | #6 |
Ветеран Сообщения: 508
|
Профиль | Отправить PM | Цитировать теперь ясно.
к сожалению перевод времени на полный формат мне не помог, то ли не влияет на cmd, то ли особенность server 2019. пришлось вводить доп переменную, которая убирает ноль set HTime=%time: =0% и использовать ее в дальнейшем %DATE:~6,4%.%DATE:~3,2%.%DATE:~0,2%_%HTime:~0,2%.%TIME:~3,2% |
Отправлено: 17:43, 06-11-2019 | #7 |
Ветеран Сообщения: 1274
|
Профиль | Отправить PM | Цитировать |
Отправлено: 18:36, 06-11-2019 | #8 |
Ветеран Сообщения: 2708
|
Профиль | Отправить PM | Цитировать |
------- Отправлено: 18:41, 06-11-2019 | #9 |
Участник сейчас на форуме | Участник вне форума | Автор темы | Сообщение прикреплено |
| |||||
Название темы | Автор | Информация о форуме | Ответов | Последнее сообщение | |
CMD/BAT - Работа с датой, временем | alexey_vf | Скриптовые языки администрирования Windows | 9 | 05-06-2013 04:52 | |
Ошибка - Глюки с ситемной датой | barbedoo | Microsoft Windows 2000/XP | 43 | 01-07-2008 18:41 | |
C/C++ - Работа с датой и время | hhh8486 | Программирование и базы данных | 3 | 02-11-2007 18:48 | |
проблема с датой | Alex andr | Microsoft Windows 2000/XP | 4 | 12-12-2005 07:03 | |
проблемы с датой | drosd | Хочу все знать | 1 | 30-04-2004 07:54 |
|