getdate и русский Windows

Нужно было записать в три переменные окружения Windows текущие год, месяц, день. Батник не работал… Я тут никак не мог понять, кто и где устанавливает переменные %mm% %dd% %yy%. Оказалось, они системные и
зависят от локали… В русской версии: %мм%] [%дд%] [%гг%], причем
кодировка файла должна быть досовской.

@echo off&SETLOCAL

:: This will return date into environment vars
:: Works on any NT/2K/XP machine independent of regional date settings
:: 20 March 2002

FOR /f “tokens=1-4 delims=/-. ” %%G IN (‘date /t’) DO (call
:s_fixdate %%G %%H %%I %%J)
goto :s_print_the_date

:s_fixdate
if “%1:~0,1%” GTR “9” shift
FOR /f “skip=1 tokens=2-4 delims=(-)” %%G IN (‘echo.^|date’) DO (
set %%G=%1&set %%H=%2&set %%I=%3)
goto :eof

:s_print_the_date
echo Month:[%mm%] Day:[%dd%] Year:[%yy%]
echo Month:[%мм%] Day:[%дд%] Year:[%гг%]
ENDLOCAL&SET mm=%мм%&SET dd=%дд%&SET yy=%гг%

набор полезных батников http://www.ss64.com/ntsyntax/
библиотека функций батников: Batch Function Library for Windows
NT4/2000/XP/2003 http://www.commandline.co.uk/lib/treeview/index.php
сложение и вычитание дат: http://www.ss64.com/ntsyntax/datemath.zip

5 коментарів to “getdate и русский Windows”

  1. Алёна :

    интересно)) пасиб афтор)0

  2. Caujka :

    Enterprise grade system, блин… Тянет на историю успеха :-) Нужно обязательно разместить на http://getthefacts.com

  3. Bagach :

    я вот не пойму, это блог на автомате наполняется?

  4. Katrinka :

    Вот это пост! Сильно. Спасибо.

  5. jelqing secrets :

    Very nice!…

    I could not have said it any better my friend! Please Keep up the awesome work my friend. You are very talented & I pray that I can write as good as you someday…