Como remover os últimos 4 caracteres antes de salvar os dados no arquivo txt

0

Eu tenho um arquivo em lotes que salva os nomes das imagens da pasta para o arquivo txt, mas antes de salvá-los, eu quero remover o .png

Como posso fazer isso?

@echo
SET path = "C:\Documents\Img"
dir /b %path % > myImg.txt
    
por Viktor 08.07.2016 / 15:31

2 respostas

1

Uma solução rápida (com grande ajuda de: link ) que apenas obtém o nome do arquivo ( menos extensão) e envia a lista para um arquivo:

(Eu editei minha resposta para corresponder ao seu diretório / arquivo)

@echo off
for /R "C:\Documents\Img" %%f in (*.*) do (
    echo %%~nf >>myImg.txt
)
pause

O script será anexado continuamente ao arquivo pics.txt , portanto, se você precisar gravar um arquivo novo a cada vez, será necessário adicionar uma etapa inicial para substituir o arquivo por uma string vazia ( break>myImg.txt ):

@echo off
break>myImg.txt
for /R "C:\Documents\Img" %%f in (*.*) do (
    echo %%~nf >>myImg.txt
)
pause
    
por 08.07.2016 / 15:53
0

Uma pesquisa rápida para remover a extensão do arquivo .

Você pode usar um loop for fazendo uma iteração de %path e echo / write %%~nf para seu arquivo.

    
por 08.07.2016 / 15:59

Tags