imho.ws |
![]() |
![]() |
![]() |
# 1 |
::VIP::
Регистрация: 15.05.2005
Адрес: Питер
Сообщения: 1 194
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() |
Дата и время в командной строке
Такой вопрос, если дата выводится в формате: День недели Дата. Например Thu 02/06/2005. можно ли как-нибудь убрать день недели при выводе из bat'файла. %date% выводит вместе с днем недели...
![]()
__________________
Чтобы воля стала действующим началом, тело должно быть совершенным. |
![]() |
![]() |
# 4 | ||
СуперМод
IMHO Консультант 2005-2009 Регистрация: 14.08.2002
Адрес: Московская ПЛ, ракетный отс
Пол: Male
Сообщения: 14 478
![]() |
Цитата:
Код:
IF "%UserName%"=="VasyaPupkin" CALL DoSomething.bat Цитата:
![]()
__________________
Не засоряйте форум "спасибами"! Для выражения благодарности существуют ПС и репутация! Соблюдайте Правила! Распространенье наше по планете Особенно заметно вдалеке: В общественном парижском туалете Есть надписи на русском языке В. Высоцкий Последний раз редактировалось Borland; 02.06.2005 в 21:10. |
||
![]() |
![]() |
# 6 |
::VIP::
Регистрация: 15.05.2005
Адрес: Питер
Сообщения: 1 194
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() |
А можно как-нибудь убрать лишний пробел перед временем? Например, когда количество часов 2 знака (10-23), то в выходном файле один пробел, а когда 1 знак (0-9) в выходном файле 2 пробела, видимо один пробел из-за того, что должен писаться ноль (00-09), но он не пишется, как можно избавиться от этого пробела?
__________________
Чтобы воля стала действующим началом, тело должно быть совершенным. |
![]() |
![]() |
# 8 |
СуперМод
IMHO Консультант 2005-2009 Регистрация: 14.08.2002
Адрес: Московская ПЛ, ракетный отс
Пол: Male
Сообщения: 14 478
![]() |
Решил поделиться своим решением.
![]() Как-то для целей резервного копирования мне понадобились дата и время в имени файла в формате "YYYYMMDD_HHMMSS", причём без пробелов. Для решения задачи была применена следующая конструкция: Код:
if "%TIME:~0,1%"==" " ( set "DTSTRING=%DATE:~6,4%%DATE:~3,2%%DATE:~0,2%_0%TIME:~1,1%%TIME:~3,2%%TIME:~6,2%" ) else ( set "DTSTRING=%DATE:~6,4%%DATE:~3,2%%DATE:~0,2%_%TIME:~0,2%%TIME:~3,2%%TIME:~6,2%" ) Слегка громоздко, зато надёжно. ![]()
__________________
Не засоряйте форум "спасибами"! Для выражения благодарности существуют ПС и репутация! Соблюдайте Правила! Распространенье наше по планете Особенно заметно вдалеке: В общественном парижском туалете Есть надписи на русском языке В. Высоцкий |
![]() |
![]() |
# 9 |
СуперМод
IMHO Консультант 2005-2009 Регистрация: 14.08.2002
Адрес: Московская ПЛ, ракетный отс
Пол: Male
Сообщения: 14 478
![]() |
Добавим получение даты и времени независимо от системных настроек:
Код:
@echo OFF call :GETTIMESTAMP TIMESTAMP echo %TIMESTAMP:~0,4%-%TIMESTAMP:~4,2%-%TIMESTAMP:~6,2% %TIMESTAMP:~8,2%:%TIMESTAMP:~10,2%:%TIMESTAMP:~12,2% pause goto :EOF :GETTIMESTAMP for /f "usebackq tokens=2 delims==" %%A in (`wmic os get LocalDateTime /value`) do set "%~1=%%A" goto :EOF Код:
@echo OFF setlocal EnableDelayedExpansion call :GETUTCTIMESTAMP TIMESTAMP echo %TIMESTAMP% pause goto :EOF :GETUTCTIMESTAMP for /f "usebackq tokens=1,2 delims==" %%A in (`wmic path Win32_UTCTime get year^,month^,day^,hour^,minute^,second /value ^| find "="`) do ( set /a TMPVAL=%%B if !TMPVAL! LSS 10 ( set UTC_%%A=0%%B ) else ( set UTC_%%A=%%B ) ) set %1=%UTC_Year%-%UTC_Month%-%UTC_Day%T%UTC_Hour%:%UTC_Minute%:%UTC_Second%Z goto :EOF
__________________
Не засоряйте форум "спасибами"! Для выражения благодарности существуют ПС и репутация! Соблюдайте Правила! Распространенье наше по планете Особенно заметно вдалеке: В общественном парижском туалете Есть надписи на русском языке В. Высоцкий |
![]() |