Ir ao conteúdo
  • Cadastre-se

Bat Criar arquivo . bat para fazer uma lista de arquivos numerados


Ir à solução Resolvido por ricardo_br,

Posts recomendados

@Carlos Daniel Fagneli Digamos que o tipo de arquivo escolhido seja txt e tenha os seguintes arquivos:

 

Amarelo.txt

Azul.txt

Branco.txt

Vermelho.txt

 

O resultado esperado seria algo assim em um arquivo chamdo resultado.txt ?

 

01 Amarelo.txt

02 Azul.txt

03 Branco.txt

04 Vermelho.txt

 

Ou poderia explicar melhor caso não seja isso....

 

Link para o comentário
Compartilhar em outros sites

  • Solução

Aqui está o código, é preciso arrastar a pasta onde estão os arquivos para o arquivo batch e na parte "set Tipo=" você deverá colocar o tipo de arquivo desejado txt exe jpg etc...

 

@echo off

:: Tipo de arquivo escolhido:
set Tipo=txt

SetLocal EnableDelayedExpansion

if exist "%~1" (if not exist "%~1\" exit) else (exit)

pushd "%~1"
for /f "delims=" %%a in ('dir /b "*.%Tipo%"') do set /a Contador+=1
if %Contador% EQU 0 exit

:: DecimaisT é a variável onde é armazenado a quantidade de decimais do total de arquivos
set DecimaisT=0
Call :CasasDecimais

if %DecimaisT% LSS 2 set DecimaisT=2

:: Contador é a contagem normal
:: ContadorZ é igual Contador com zero a esquerda
set Contador=0
for /f "Delims=" %%a in ('dir /b "*.%Tipo%"') do (
                                                  set /a Contador+=1
                                                  set ContadorZ=0000000000!Contador!
                                                  set ContadorZ=!ContadorZ:~-%DecimaisT%!
                                                  >>"%~dp0Resultado.txt" echo Arquivo_!ContadorZ! = %%a
                                                 )
exit

:: Verifica qual a quantidade maxima de casas decimais do total de arquivos
:CasasDecimais
if "!Contador:~%DecimaisT%,1!"=="" goto :EOF
set /a DecimaisT+=1
goto :CasasDecimais

 

  • Curtir 1
  • Obrigado 1
Link para o comentário
Compartilhar em outros sites

  • Membro VIP

@ricardo_br, que top!

 

Daria para colocar a configuração do tipo no próprio console? Algo como, após arrastar, perguntar o tipo.. aí, digitaria, por exemplo, o "txt" ou o que quiser.

 

@Carlos Daniel Fagneli, da forma que está, poderia deixar uma cópia para cada tipo. Exemplo: GerarListaTXT.bat, GerarListaJPG_e_JPEG.bat (imagino que dá para inserir mais de um tipo de uma vez só) etc. 

  • Curtir 1
Link para o comentário
Compartilhar em outros sites

  • Membro VIP

 

21 minutos atrás, ricardo_br disse:

@Simon Viegas Daria sim, só usar algo como set /p "Tipo=Informe o tipo de arquivo: "

 

Daí tem que validar a entrada, para o caso do usuário simplesmente pressionar Enter sem digitar nada, ou digitar nonsense e tal... talvez usar choice seja mais adequado, se não forem muitas possibilidades de tipos de arquivos.

  • Curtir 1
Link para o comentário
Compartilhar em outros sites

Crie uma conta ou entre para comentar

Você precisa ser um usuário para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar agora

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...

Ebook grátis: Aprenda a ler resistores e capacitores!

EBOOK GRÁTIS!

CLIQUE AQUI E BAIXE AGORA MESMO!