king_stiven
Silver Member | Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору Estevan Код: @echo off chcp 1251 > nul set /p data=введите год месяц число for /f "usebackq tokens=1,2,3*" %%b in (`dir "A:\*.*" /t:c /s /a:-d`) do ( if %%b%%c==Содержимоепапки set "folder=%%d %%e" for /f "tokens=1,2,3 delims=." %%f in ("%%b") do ( if %%h%%g%%f GEQ %data% ( set "file=%%e" call :end ) ) ) goto :eof :end attrib +h "%folder%\%file%" > nul | вариант2 Код: @echo off chcp 1251 > nul set /p data=Enter year month number for /r A:\ %%a in (.) do ( for /f "usebackq tokens=1,2,3,5* delims=., " %%c in (`dir "%%a\*.*" /t:c /o:-d /a:-d`) do ( if %%e%%d%%c GEQ %data% attrib +h "%%a\%%g" > nul ) ) | Содержимоепапки это для русской винды, обрати внимание на формат set data=20070101 год месяц число, можно переделать, чтобы вводить число месяц год .В каком формате показывает команда dir дату? Есть ещё вариант, должен работать быстрее, если в каждом каталоге много файлов, а старше определённой даты -мапо. Vladimir312 У меня работает. Попробуй %%~si вместо %%~sfi или приведи полный текст батника. | Всего записей: 2229 | Зарегистр. 17-07-2006 | Отправлено: 22:52 03-12-2007 | Исправлено: king_stiven, 00:45 04-12-2007 |
|