Цитата Альберт_25:
1) запускаем батник и он просит ввести с клавиатуры дату в формате дд.мм.гг
2) ищет на диске и во всех под каталогах X:\Файлы\Сертификаты\*.cer файлы с расширением *.cer, но на диске X есть под каталоги X:\Файлы\Сертификаты\OLD и X:\Файлы\OLD в них искать не нужно (не нужно искать в папках OLD)
3) выводит список всех найденных файлов *.cer с заданной датой создания
4) и еще хотелось бы что бы русский язык выводился нормально а не иероглифами, потому что сертификаты и пути к ним пишутся на русском языке.
и можно ещё их посчитать,
Например:
Было найдено:
1) X:\Файлы\Сертификаты\Женя\сертификат.cer
2) X:\Файлы\Сертификаты\Маша\ВходБаза.cer
Итого найдено: 2 сертификата. »
|
Код:
![Выделить весь код](images/misc/selectcode.png)
:: Пакетный файл с данным кодом сохраните в кодировке "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