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

Показать сообщение отдельно

Ветеран


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

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


Цитата Альберт_25:
1) запускаем батник и он просит ввести с клавиатуры дату в формате дд.мм.гг

2) ищет на диске и во всех под каталогах X:\Файлы\Сертификаты\*.cer файлы с расширением *.cer, но на диске X есть под каталоги X:\Файлы\Сертификаты\OLD и X:\Файлы\OLD в них искать не нужно (не нужно искать в папках OLD)

3) выводит список всех найденных файлов *.cer с заданной датой создания

4) и еще хотелось бы что бы русский язык выводился нормально а не иероглифами, потому что сертификаты и пути к ним пишутся на русском языке.

и можно ещё их посчитать,
Например:
Было найдено:
1) X:\Файлы\Сертификаты\Женя\сертификат.cer
2) X:\Файлы\Сертификаты\Маша\ВходБаза.cer
Итого найдено: 2 сертификата. »


Код: Выделить весь код
:: Пакетный файл с данным кодом сохраните в кодировке "OEM-866"!

@echo off& setlocal

set "dir=X:\"

:: Присвоение переменной "exclude" исключений в качестве значения (обратите внимание на точки с запятой):
set exclude="X:\Файлы\Сертификаты\OLD";"X:\Файлы\OLD";

echo Введите дату в формате "дд.мм.гг" или "дд.мм.гггг" (без кавычек).
set/p "$date="& cls& if not defined $date exit/b 1
cmd/v/c echo.!$date!| ^
findstr/x "[0-3][0-9]\.[0-1][0-9]\.[0-9][0-9] [0-3][0-9]\.[0-1][0-9]\.[0-9][0-9][0-9][0-9]"&& ^
echo.|| exit/b 2

pushd "%dir%"&& set n=0|| exit/b 3
for /f "delims=" %%i in ('2^>nul dir/a-d/b/s "*.cer"^| findstr/ilv /c:%exclude:";=\\" /c:%?') do (
 for /f "delims=" %%j in ('dir/a/-c/tc "%%i"^| findstr/b %$date:.=.[0-9]*%') do (
  set/a n+=1
  cmd/c set/a n& echo ^) %%i
 )
)
popd& echo.& echo Итого найдено: %n% сертификат (-а, -ов).

pause>nul& endlocal& exit/b 0
Это сообщение посчитали полезным следующие участники:

Отправлено: 21:27, 11-08-2015 | #7