Sugiro usar o comando FOR com a opção / R.
Por exemplo, para localizar todos os arquivos no diretório atual, use:
for /r %i in (*) do @echo %i
Para começar a pesquisar a partir de um diretório arbitrário, use esta forma do comando:
for /r "C:\TMP" %i in (*) do @echo %i
Por fim, para procurar todos os arquivos em lote no diretório c: \ bin, você pode fazer isso:
for /r "c:\bin" %i in (*.bat) do @echo %i
Um ponto que devo fazer, no entanto, é que se você estiver usando este comando em um arquivo de lote, você precisará dobrar os sinais%, então estes exemplos se tornarão:
for /r %%i in (*) do @echo %%i
for /r "C:\TMP" %%i in (*) do @echo %%i
for /r "c:\bin" %%i in (*.bat) do @echo %%i
O uso de i como variável aqui é completamente arbitrário, e foi implantado pela primeira vez em mim nos meus dias de FORTRAN.