Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  | Правила  

Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » CMD/BAT - [решено] Команды в Win (date /T). Выбор формата даты.

Ответить
Настройки темы
CMD/BAT - [решено] Команды в Win (date /T). Выбор формата даты.

Новый участник


Сообщения: 32
Благодарности: 0

Профиль | Отправить 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

 


Moderator


Сообщения: 53173
Благодарности: 15430

Профиль | Отправить PM | Цитировать


timur_m, посмотрите параметр sShortDate в разделе реестра HKEY_CURRENT_USER\Control Panel\International. А если батник работает от имени SYSTEM, то в ветке HKEY_USERS\.DEFAULT\Control Panel\International.
Это сообщение посчитали полезным следующие участники:

Отправлено: 11:26, 04-03-2009 | #2



Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети.

Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля.


Аватара для gora

Ушёл из жизни


Сообщения: 6021
Благодарности: 3491

Профиль | Отправить PM | Цитировать


Вот .bat файл для получения даты и времени независимо от региональных настроек на компьютере. Из текста видно, что формируются 7 переменных, которые можно использовать в любой удобной комбинации.
Код: Выделить весь код
@echo off
:: Code by Herbert Kleebauer
echo Bj@jzh`0X-`/PPPPPPa(DE(DM(DO(Dh(Ls(Lu(LX(LeZRR]EEEUYRX2Dx=>d_t.com
echo 0DxFP,0Xx.t0P,=XtGsB4o@$?PIyU WwX0GwUY Wv;ovBX2Gv0ExGIuht6>>d_t.com
echo LisqMz`wGH@wKuur`G@w?ogBgGG}G?j_egoNOG?w?`gBLksqgG`w?WgBgG>>d_t.com
echo G}G?R_MgoNMy?wSx@W?s?W?@zAB`LrFuBLyt~vuco{@LuKooD?BFHqrIcP>>d_t.com
echo _sdDxb1T??=?rILO_sdDqx1T??=?rILO_sdDnl1T??=?rILO_sdD`c1T??>>d_t.com
echo =?rILO_sdDgg1T??=?rILO_sdDll1T??=?rILO_sdDrr1T??=??IL?0xxx>>d_t.com

FOR /F "delims=" %%i IN ('d_t.com') DO %%i
del d_t.com

echo century: %_cy%
echo    year: %_yr%
echo   month: %_mo%
echo     day: %_da%
echo    hour: %_hh%
echo  minute: %_mm%
echo  second: %_ss%
echo     all: %_cy%%_yr%-%_mo%-%_da% %_hh%:%_mm%:%_ss%
echo.
echo		 %DATE% %TIME%
pause>nul
Может пригодится.

Важно: создаваемый батником файл d_t.com является 16-разрядным приложением и не сможет работать на х64 ОС.

Последний раз редактировалось gora, 29-11-2015 в 19:40. Причина: дополнил про х64

Это сообщение посчитали полезным следующие участники:

Отправлено: 13:08, 04-03-2009 | #3


Аватара для tr011_tmn

Ветеран


Автор проектов


Сообщения: 1002
Благодарности: 295

Профиль | Отправить PM | Цитировать


gora,
а такой вопрос, имеется:
PHP код: Выделить весь код

set D=%date:~0,2%

set M=%date:~3,2%
set Y=%date:~8,2%
set /a DD=%D% - 0
set 
/a MM=%M% - 0
set DT
=%DD%.%MM%.%Y

при использовании:
PHP код: Выделить весь код

echo %DT

получаем:
4.3.09
если же ввести:
PHP код: Выделить весь код

set /a YY=%Y% - 

то получаем:
Неправильное число. Числовые константы должны быть десятичными (17)
шестнадцатеричными (0x11),или восьмеричными (021).

То есть дату обрезать не получится, до результата 4.3.9?

-------
Насяльника!!!!! Джамшута адроннама коллайдер фключал, ключ павирнул и ашельбе машельбе асин, вульшарьбелеме!! и полный пистесама насяльника!
Цирк уехал ))) клоуны остались


Отправлено: 21:19, 04-03-2009 | #4


Аватара для gora

Ушёл из жизни


Сообщения: 6021
Благодарности: 3491

Профиль | Отправить PM | Цитировать


tr011_tmn, так будет корректнее:
Код: Выделить весь код
set D=1%date:~0,2%
set M=1%date:~3,2%
set Y=1%date:~8,2%
set /a DD=%D% - 100
set /a MM=%M% - 100
set /a YY=%Y% - 100
set DT=%DD%.%MM%.%YY%
Это сообщение посчитали полезным следующие участники:

Отправлено: 21:27, 04-03-2009 | #5


Аватара для tr011_tmn

Ветеран


Автор проектов


Сообщения: 1002
Благодарности: 295

Профиль | Отправить PM | Цитировать


gora, только что проверил результат тот же
Неправильное число. Числовые константы должны быть десятичными (17)
шестнадцатеричными (0x11),или восьмеричными (021).

тем более используя:
Код: Выделить весь код
set /a DD=%D% - 100
set /a MM=%M% - 100
получаем результаты

-96
-97

-------
Насяльника!!!!! Джамшута адроннама коллайдер фключал, ключ павирнул и ашельбе машельбе асин, вульшарьбелеме!! и полный пистесама насяльника!
Цирк уехал ))) клоуны остались


Отправлено: 21:29, 04-03-2009 | #6


Аватара для gora

Ушёл из жизни


Сообщения: 6021
Благодарности: 3491

Профиль | Отправить PM | Цитировать


Цитата tr011_tmn:
только что проверил результат тот же »
Вы не внимательны. Не увидели 1 в строках: set D=1%date:~0,2% Скопируйте мой текст и ошибок не будет.
Это сообщение посчитали полезным следующие участники:

Отправлено: 21:37, 04-03-2009 | #7


Аватара для tr011_tmn

Ветеран


Автор проектов


Сообщения: 1002
Благодарности: 295

Профиль | Отправить PM | Цитировать


Цитата gora:
Вы не внимательны. Не увидели 1 в строках: set D=1%date:~0,2% Скопируйте мой текст и ошибок не будет. »
приношу свои извинения и огромную благодарность.
не могли бы вы уточнить что означает 1 перед %%? исключительно ради любопытства. ведь если я правильно понял то мы добавляем знак перед %% и получаем значение 1%%. при %Y%, это 12009, или я что то не так понял?

-------
Насяльника!!!!! Джамшута адроннама коллайдер фключал, ключ павирнул и ашельбе машельбе асин, вульшарьбелеме!! и полный пистесама насяльника!
Цирк уехал ))) клоуны остались


Отправлено: 21:58, 04-03-2009 | #8


Аватара для gora

Ушёл из жизни


Сообщения: 6021
Благодарности: 3491

Профиль | Отправить PM | Цитировать


Цитата tr011_tmn:
что означает 1 перед %% »
Единица просто "приклеивается" спереди к переменной (не путать с математическим сложением).
Код: Выделить весь код
set D=1%date:~0,2%
Если в %date:~0,2% имеем 04, то в переменной %D% будет 104.
Это сообщение посчитали полезным следующие участники:

Отправлено: 22:06, 04-03-2009 | #9


Забанен


Сообщения: 52
Благодарности: 3

Профиль | Цитировать


Отнекрофилю тему :)
Давно уже собирался написать, но только, вот, руки дошли.

Чутка облагородить бы надо код:

Код: Выделить весь код
REM Code by Herbert Kleebauer
(
    Echo Bj@jzh`0X-`/PPPPPPa(DE(DM(DO(Dh(Ls(Lu(LX(LeZRR]EEEUYRX2Dx=
    Echo 0DxFP,0Xx.t0P,=XtGsB4o@$?PIyU WwX0GwUY Wv;ovBX2Gv0ExGIuht6
    Echo LisqMz`wGH@wKuur`G@w?ogBgGG}G?j_egoNOG?w?`gBLksqgG`w?WgBgG
    Echo G}G?R_MgoNMy?wSx@W?s?W?@zAB`LrFuBLyt~vuco{@LuKooD?BFHqrIcP
    Echo _sdDxb1T??=?rILO_sdDqx1T??=?rILO_sdDnl1T??=?rILO_sdD`c1T??
    Echo =?rILO_sdDgg1T??=?rILO_sdDll1T??=?rILO_sdDrr1T??=??IL?0xxx
)>d_t.com
Именно REM, а не :: - вредно привыкать к неправильностям.
Глюки когда-нибудь вылезут из-за :: - застрелишься искать и догадываться :)

Присоветую еще заиметь папочку %SystemRoot%\_Add, которую указать в %Path%, и складывать в нее такие вот вкусняшки.
Тогда не надо будет создавать-удалять при каждом вызове. Как-то коряво это...
.

Отправлено: 18:48, 29-11-2015 | #10



Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » CMD/BAT - [решено] Команды в Win (date /T). Выбор формата даты.

Участник сейчас на форуме Участник сейчас на форуме Участник вне форума Участник вне форума Автор темы Автор темы Шапка темы Сообщение прикреплено

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
Ошибка - [решено] 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




 
Переход