Ir ao conteúdo

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


Ir à solução Resolvido por ricardo_br,

Posts recomendados

Postado

@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....

 

  • Solução
Postado

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
  • Membro VIP
Postado

@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
  • Membro VIP
Postado

 

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

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...