Цикл в батниках это for. Есть специализированные циклы (смотрите параметры for) для обхода папок и файлов.
Так же можно получить список файлов с помощью dir. Опциями dir можно ограничить вывод например только файлами (dir /a-d) или только папками (dir /ad), задать сортировку и т.п. Вывод можно прогнать через фильтр findstr или find (
dir ... | findstr "filtr string
) и это все завернуть в for /f для разложения строк вывода на лексемы.
Для справки:
for /?
dir /?
findstr /?
find /?
if /?