Просто проверяйте есть ли текущий файл в логе, если нет добавляйте.
Как-то так:
for %%a in (c:\test\*.jpg) do (
findstr /c:"%%~fa" log.txt || echo.%%~fa>log.txt
)
Если log.txt обещает вырастать до БОЛЬШИХ размеров, это может заметно снизить производительность и такой способ мало пригоден. Если log.txt не будет сильно расти, то вполне пойдет.
В случае большого количества файлов нужен другой вариант. Могу предложить такой: все новые файлы просто переносим в другой каталог. Т.е. в рабочем каталоге не будет старых файлов. В этом случае можно ничего не проверять - появился файл, добавили в лог и перенесли его. При этом в лог можно писать уже новый путь к файлу, что бы обработчик лога нормально находил файлы.