Сначала формируется файл содержащий все файлы в поддиректориях, после чего происходит выполнения программы md5.exe котороя просчитывает контрольные суммы файлов и записывает их в файл. Нашел похожий пример:
dir /a:d /b > dir.txt
for /f "tokens=1" %%i in (dir.txt) do (
cd %%i
call :dodate %%i %1
cd ..
)
del dir.txt
goto :eof
:dodate
rem входим в папку
cd %2 >
set e1=%errorlevel%
if [%e1%]==[0] (
rem если удачно, строим список файлов
rem формат вывода подбереь сам
dir /b *.%1 > ..\file.txt
for /f "tokens=1" %%i in (..\file.txt) do (
rem печать
call твой_скрипт %%i
)
del ..\file.txt
cd ..
)
goto :eof
Нашел пример скрипта для перебора поддиректорий, правда он ищет только поддиректории 1го уровня(если несложно, прокомментируйте всю программу построчно). Полностью с синтаксисом не разобрался ибо все мануалы на английском, я в нем не силен. Нужно сделать что бы поиск проводился на произвольную глубину дерева директорий и прикрутить считывание/проверку контрольной сумы.
В принципе всю программу комментировать не надо, я не понял только значения строчек
cd %%i
call :dodate %%i %1
....
set e1=%errorlevel%
if [%e1%]==[0] (
....
errorlevel – это ответ предыдущей функции, почему он должен быть равен 0?