igor_andreev
Advanced Member | Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору Мне кстати slech своим вопросом напомнил... В общем я нашел таки способ, как определять двумя строчками кода день-месяц-год-день недели на любой 2000\XP\2003 с любыми региональными настройками, на любой языковой версии ОС, сколько их там выпускается? XP-дистрибьютивов кажется больше сорока языков существует. Способ простой. В папке system32 всегда есть makecab.exe. Всегда английская, других версий просто нет. У нее есть параметр [-f file.ext] - брать параметры архивирования из file.ext. Попробуйте натравить makecab на любой пустой файл, например: Код: Увидите в папке запуска два файлика, setup.inf и setup.rpt, makecab.exe везде пытается нагадить Загляните в них. Ничего не напоминает? Функциональность now.exe встроена в makecab.exe. Ну и вытаскивается в цикле for, что надо, вроде: Код: @echo off echo.>"%TEMP%\~.ddf" makecab /D RptFileName="%TEMP%\~.rpt" /D InfFileName="%TEMP%\~.inf" -f "%TEMP%\~.ddf">nul for /f "tokens=4,5,7" %%a in ('type "%TEMP%\~.rpt"') do if not defined current-date set "current-date=%%c-%%a-%%b" echo %current-date% del /q "%TEMP%\~.*" pause | или там Код: @echo off echo.>"%TEMP%\~.ddf" makecab /D RptFileName="%TEMP%\~.rpt" /D InfFileName="%TEMP%\~.inf" -f "%TEMP%\~.ddf">nul for /f "tokens=3" %%a in ('type "%TEMP%\~.rpt"') do if not defined weekday set "weekday=%%a" echo %weekday% del /q "%TEMP%\~.*" pause | Доли секунды и W DD MMM YYYY в кармане. В Висте не пробовал запускать, за неимением поблизости копма с оной, но наверно и там будет работать. Вот |