|
Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » CMD/BAT - [решено] Команды в Win (date /T). Выбор формата даты. |
|
CMD/BAT - [решено] Команды в Win (date /T). Выбор формата даты.
|
Новый участник Сообщения: 32 |
Профиль | Отправить PM | Цитировать Привет всем!
Такой вопрос, помогите разобраться, пожалуйста. Ежедневно по крону отрабатывает bat-файл, который создаёт каталог с текущей датой: mkdir c:\%DATE% Как положено, появляется папочка c:\04.03.2009 На большинстве серверов (win2003) отрабатывает прекрасно, но попалась машина, которая вместо каталога с датой, создала: c:\Ср И действительно, в командной строке, команда: echo %DATE%, или DATE /T, выводит: Ср 04.03.2009 В языковых стандарты (панели управления), формат даты указан, как dd.MM.yyyy. Где указывается эта настройка? Подскажите пожалуйста, кто знает. |
|
Отправлено: 10:52, 04-03-2009 |
Старожил Сообщения: 396
|
gora,
Цитата:
|
|
Отправлено: 18:21, 24-12-2018 | #11 |
Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети. Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля. |
Ветеран Сообщения: 27449
|
Профиль | Отправить PM | Цитировать Цитата tarakan1983:
Скрытый текст
@echo off setlocal enableextensions enabledelayedexpansion for /f "usebackq skip=1 delims=" %%i in ( `wmic.exe OS get LocalDateTime` ) do for /f "tokens=1" %%j in ("%%~i") do ( set sDateTime=%%j set sYear=!sDateTime:~0,4! set sMonth=!sDateTime:~4,2! set sDay=!sDateTime:~6,2! set sHour=!sDateTime:~8,2! set sMinute=!sDateTime:~10,2! set sSecond=!sDateTime:~12,2! ) echo Year: %sYear% echo Month: %sMonth% echo Day: %sDay% echo Hour: %sHour% echo Minute: %sMinute% echo Second: %sSecond% endlocal exit /b 0 |
|
Отправлено: 19:09, 24-12-2018 | #12 |
Ветеран Сообщения: 2726
|
Профиль | Отправить PM | Цитировать Если извратить код Iska, чтобы без восклицаний:
@Echo Off cls FOR /F "tokens=2 delims==." %%d in ('WMIC OS GET LOCALDATETIME /VALUE') DO SET "sDateTime=%%d" set "sYear=%sDateTime:~0,4%" set "sMonth=%sDateTime:~4,2%" set "sDay=%sDateTime:~6,2%" set "sHour=%sDateTime:~8,2%" set "sMinute=%sDateTime:~10,2%" set "sSecond=%sDateTime:~12,2%" echo Year: %sYear% echo Month: %sMonth% echo Day: %sDay% echo Hour: %sHour% echo Minute: %sMinute% echo Second: %sSecond% exit /b 0 |
------- Отправлено: 19:51, 24-12-2018 | #13 |
Ветеран Сообщения: 1274
|
Профиль | Отправить PM | Цитировать @echo off for /f "tokens=1* delims==" %%a in ('"wmic path win32_localtime get Day,Month,Year,Hour,Minute,Second /value|find "^=""') do set "%%a=0%%b" echo Year: %Year:~-5% echo Month: %Month:~-3% echo Day: %Day:~-3% echo Hour: %Hour:~-3% echo Minute: %Minute:~-3% echo Second: %Second:~-3% pause |
Отправлено: 00:47, 25-12-2018 | #14 |
Новый участник Сообщения: 4
|
Профиль | Отправить PM | Цитировать Утилита date.zip (38.5 КБ) из комплекта UnxUtils
позволяет получить данные о дате времени в любом формате независимо от региональных настроек. Примеры использования: Показать текущие ГГГГ-ММ-ДД (%%y (строчная) - Краткий двузначный формат года) Записать дату/время в переменную в нужном формате for /f "tokens=*" %%i in ('date.exe +"%%Y-%%m-%%d %%H:%%M:%%S"') do set timestamp=%%i echo %timestamp% for /f "tokens=1,2,3,4,5,6* delims=," %%i in ( 'date.exe +"%%Y,%%m,%%d,%%H,%%M,%%S"') do ( set yy=%%i& set mo=%%j& set dd=%%k& set hh=%%l& set mm=%%m& set ss=%%n) echo %yy% %mo% %dd% for /f "tokens=1,2,3,4,5,6* delims=," %%i in ( 'date.exe -r test.txt +"%%Y,%%m,%%d,%%H,%%M,%%S"') do ( set yy=%%i& set mo=%%j& set dd=%%k& set hh=%%l& set mm=%%m& set ss=%%n) echo %yy% %mo% %dd% Теперь не будет возникать ошибок при мат. операциях (set /a=...) с этими переменными |
Последний раз редактировалось fhrbc, 08-02-2019 в 06:06. Отправлено: 13:08, 05-02-2019 | #15 |
Ветеран Сообщения: 27449
|
Профиль | Отправить PM | Цитировать fhrbc, для получения даты/времени в едином формате у нас уже есть Wbem (wmic.exe).
|
Отправлено: 17:30, 05-02-2019 | #16 |
Crazy Сообщения: 1196
|
Профиль | Отправить PM | Цитировать Цитата Iska:
Код не совсем мой, откуда стырена идея, уже не помню, но работает почти на всех windows: @echo off rem получаем дату в формате не зависящем от версии ОС echo.>"%temp%\~.ddf" >nul makecab /d RptFileName="%temp%\~.rpt" /d InfFileName="%temp%\~.inf" -f "%temp%\~.ddf" for /f "tokens=4,5,6,7,8,9 delims=: " %%a in ('type "%temp%\~.rpt"') do ( if not defined m call :month %%a if not defined current-date (call set "current-date=%%f-%%m%%-%%b") if not defined current-time (call set "current-time=%%c:%%d:%%e") ) del /q "%temp%\~.*" echo. "%current-date%" "%current-time%" pause&exit rem перевод формата MMM -> MM :month if "%1"=="Jan" set "m=01" if "%1"=="Feb" set "m=02" if "%1"=="Mar" set "m=03" if "%1"=="Apr" set "m=04" if "%1"=="May" set "m=05" if "%1"=="Jun" set "m=06" if "%1"=="Jul" set "m=07" if "%1"=="Aug" set "m=08" if "%1"=="Sep" set "m=09" if "%1"=="Oct" set "m=10" if "%1"=="Nov" set "m=11" if "%1"=="Dec" set "m=12" exit /b |
|
------- Отправлено: 17:53, 05-02-2019 | #17 |
(*.*) Сообщения: 36544
|
Профиль | Сайт | Отправить PM | Цитировать Все что угодно, лишь бы не изучать пошик
https://www.outsidethebox.ms/14845/#Get-Date |
Отправлено: 19:04, 05-02-2019 | #18 |
Crazy Сообщения: 1196
|
Профиль | Отправить PM | Цитировать Цитата Vadikan:
|
|
------- Отправлено: 19:21, 05-02-2019 | #19 |
Ветеран Сообщения: 27449
|
Профиль | Отправить PM | Цитировать YuS_2, а у меня на 5.1 и там, и там A.D. (Windows 7 SP1 x64, CurrentCulture — 1049, ru-RU, Русский (Россия)):
Скрытый текст
PS C:\> powershell.exe -v 2.0 Windows PowerShell (C) Корпорация Майкрософт, 2009. Все права защищены. PS C:\> $PSVersionTable.PSVersion Major Minor Build Revision ----- ----- ----- -------- 2 0 -1 -1 PS C:\> '{0:g.yyyy.MM.dd HH:mm:ss}' -f (Get-Date) A.D..2019.02.05 20:06:09 PS C:\> exit PS C:\> $PSVersionTable.PSVersion Major Minor Build Revision ----- ----- ----- -------- 5 1 14409 1005 PS C:\> '{0:g.yyyy.MM.dd HH:mm:ss}' -f (Get-Date) A.D..2019.02.05 20:06:23 PS C:\> |
Отправлено: 20:10, 05-02-2019 | #20 |
Участник сейчас на форуме | Участник вне форума | Автор темы | Сообщение прикреплено |
| |||||
Название темы | Автор | Информация о форуме | Ответов | Последнее сообщение | |
Ошибка - [решено] Invalid argument to date encode | ПЕПЕЛАЦ13 | Microsoft Windows 2000/XP | 9 | 03-12-2008 15:05 | |
Разное - [решено] ковычки в формате поля Date в ворде | pva | Программирование и базы данных | 4 | 11-09-2008 13:04 | |
Изменение формата даты | Ilya S | Программное обеспечение Windows | 2 | 12-11-2007 11:13 | |
[решено] Смена формата Даты в Региональных Настройках. | Loki3D | Microsoft Windows 2000/XP | 2 | 19-10-2006 13:42 | |
Date /t | mihmih | Microsoft Windows NT/2000/2003 | 1 | 23-01-2006 10:33 |
|