Como ocultar as extensões de arquivo em um prompt de comando / saída dir?

8

O que eu quero fazer parece muito simples:
Eu tenho uma pasta no Windows contendo itens de vários tipos, incluindo arquivos PDF, arquivos TXT e subdiretórios. Estou escrevendo um arquivo .bat de uma linha para puxar SOMENTE os nomes dos arquivos PDF para um novo arquivo de texto.

Até agora, isso é o que eu tenho no .bat:

dir *.pdf /b > PDF_LIST.txt

Isso fornece a seguinte saída em um arquivo PDF_LIST.txt:

A.pdf
B.pdf
C.pdf

Eu gostaria de descartar a parte ".pdf" de cada linha no arquivo txt, já que obviamente já sei que cada arquivo está em formato PDF pelo parâmetro * .pdf em minha declaração de diretório.

Isso tornaria mais fácil copiar / colar todos os nomes de arquivo diretamente do arquivo de texto em um documento do Word para uma transmissão que estou enviando ao meu cliente. Se você puder sugerir uma maneira melhor ou mais fácil de obter a lista de arquivos sem usar um arquivo em lotes, isso também seria útil.

    
por NoCatharsis 17.12.2010 / 17:52

2 respostas

15

No seu script:

for %%i in (*.pdf) do @echo %%~ni >> PDF_LIST.txt
    
por 17.12.2010 / 18:07
0

A maioria dos editores de texto (incluindo o bloco de notas) localizou e substituiu. Basta usá-lo para encontrar todos os ".pdf" e substituí-lo por "". Feito:)

Você também pode definir isso como macro na palavra.

    
por 17.12.2010 / 18:02