Copie os nomes dos arquivos para a área de transferência, mas pule as extensões dos arquivos

0

Estou usando esse script no arquivo em lote que criei para copiar os nomes de arquivos para a área de transferência e, em seguida, posso usar

@echo off
set dirpath=%1
dir %dirpath% /b /n | clip
exit

Eu criei um atalho no menu Windows SendTo que direcionava para esse arquivo em lotes. Quando eu quero copiar nomes de arquivos em uma pasta específica para a área de transferência, basta clicar com o botão direito nessa pasta e enviar para esse arquivo em lotes. Isso funciona bem.

Mas posso melhorar esse script pulando as extensões de arquivo (como .jpg )?

Obrigado pela sua ajuda.

    
por Leigh 11.03.2016 / 04:55

1 resposta

0

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):

por 11.03.2016 / 09:13