for /r %i in (*) do @echo %~ni
ou
forfiles /s /c "cmd /c if @isdir==FALSE noquotes.bat @fname"
assumindo um arquivo noquotes.batno seu % PATH% com este conteúdo
@echo %~1
abordagem for / r explicada
for /rpercorre o diretório atual recursivamente (você pode especificar um diretório for /r drive:\path\, o diretório atual é assumido) e executa o comando especificado por do para cada arquivo encontrado no conjunto (*). O conjunto (.)corresponderia apenas aos diretórios. @echo% ~ ni Este comando funciona como está no prompt. Dobrar suas cotações, se você colocá-lo dentro de um arquivo em lotes. iefor /r %%i in (*) do @echo %%~ni
abordagem forfiles explicada
/senumera os subdiretórios atual e todos os subdiretórios
/cexecuta o comando dentro das aspas
@isdire @fnameé um símbolo emitido na cadeia de comando
O arquivo em lotes extra noquotes.batajuda ao eliminar as aspas duplas com% ~ 1 (parâmetro 1)
forfilestambém permite especificar um caminho para iniciar emforfiles /P C:\Windows ...