Solução simples usando um arquivo auxiliar:
@ECHO OFF
SETLOCAL EnableExtensions DisableDelayedExpansion
>"%temp%\%~n0.txt" (
for /F "delims=" %%G in ('dir "%~1" /b') do echo(%%~nG
)
type "%temp%\%~n0.txt"|clip
rem erase "%temp%\%~n0.txt"
exit
Para uma solução sem um arquivo auxiliar, inspire-se em Atribuindo caractere de nova linha a uma variável em um script em lote
Recursos (leitura obrigatória):
- (referência de comando) Um índice A-Z da linha de comando do Windows CMD
- (particularidades adicionais) Sintaxe da linha de comando do shell do Windows CMD
- (
%~1
,%%~nG
etc. página especial) Argumentos da linha de comando (parâmetros) - (
>>
,2>1
etc. página especial) Redirecionamento