evgeni666
Member | Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору Elroir Цитата: ОК. Только нельзя использовать утилиту "reg.exe". В стандартной поставке Win2000, ее нет. | От блин, забыл про это. Фикня вопрос - выгрузим ветку реестра во временный файл А вот и готовое решение Получаем текущую дату в независимости от региональных настроек. Работает для XP и выше. Цитата: for /f "skip=2 tokens=2*" %%i in ('reg QUERY "HKCU\Control Panel\International" /v sDate') do set sdate=%%j for /f "skip=2 tokens=2*" %%i in ('reg QUERY "HKCU\Control Panel\International" /v sShortDate') do set sshortdate=%%j for /f "delims=%sdate% tokens=1,2,3" %%i in ("%sShortDate%") do set /a f1=%%i & set /a f2=%%j & set /a f3=%%k for /f "tokens=1,2" %%i in ("%date%") do if "%%j"=="" (set mydate=%%i) else (set mydate=%%j) for /f "delims=%sdate% tokens=1,2,3" %%i in ("%mydate%") do set d1=%%i & set d2=%%j & set d3=%%k if "%f1%"=="yy" if %d1% GEQ 30 (set d1=19%d1%) else (set d1=20%d1%) if "%f1%"=="y" if %d1% GEQ 30 (set d1=19%d1%) else if %d1% GEQ 10 (set d1=20%d1%) else (set d1=200%d1%) if "%f2%"=="yy" if %d2% GEQ 30 (set d2=19%d2%) else (set d2=20%d2%) if "%f2%"=="y" if %d2% GEQ 30 (set d2=19%d2%) else if %d2% GEQ 10 (set d2=20%d2%) else (set d2=200%d2%) if "%f3%"=="yy" if %d3% GEQ 30 (set d3=19%d3%) else (set d3=20%d3%) if "%f3%"=="y" if %d3% GEQ 30 (set d3=19%d3%) else if %d3% GEQ 10 (set d3=20%d3%) else (set d3=20%d3%) if "%f1:~0,1%"=="y" (set year=%d1%) else if "%f2:~0,1%"=="y" (set year=%d2%) else if "%f3:~0,1%"=="y" (set year=%d3%) if "%f1:~0,1%"=="M" (set month=%d1%) else if "%f2:~0,1%"=="M" (set month=%d2%) else if "%f3:~0,1%"=="M" (set month=%d3%) if "%f1:~0,1%"=="d" (set day=%d1%) else if "%f2:~0,1%"=="d" (set day=%d2%) else if "%f3:~0,1%"=="d" (set day=%d3%) echo %year% echo %month% echo %day% | PS. Код для 2000-го будет чуть позже. | Всего записей: 373 | Зарегистр. 22-12-2005 | Отправлено: 13:35 25-01-2007 | Исправлено: evgeni666, 15:14 25-01-2007 |
|