for /r %i in (*) do @echo %~ni
ou
forfiles /s /c "cmd /c if @isdir==FALSE noquotes.bat @fname"
assumindo um arquivo noquotes.bat
no seu % PATH% com este conteúdo
@echo %~1
abordagem for / r explicada
for /r
percorre 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
/s
enumera os subdiretórios atual e todos os subdiretórios
/c
executa o comando dentro das aspas
@isdir
e @fname
é um símbolo emitido na cadeia de comando
O arquivo em lotes extra noquotes.bat
ajuda ao eliminar as aspas duplas com% ~ 1 (parâmetro 1)
forfiles
também permite especificar um caminho para iniciar emforfiles /P C:\Windows ...