Ir ao conteúdo

Bat Como criar sequencial de arquivo via bat?


Ir à solução Resolvido por ricardo_br,

Posts recomendados

Postado

@ricardo_br Fala camarada!
Consegue me ajudar com a colocação de um sequencial nessa bat?

 

Hoje o resultado é esse: CDC_2012.IDA
Preciso assim: CDC_201201.IDA, CDC_201202.IDA, CDC_201203.IDA (sequencial nos últimos dois dígitos)


@echo off
set Origem=C:\Documentos\Marcos\CDC.IDA
set Destino=C:\Users\marcos.psimoes\Documentos\Marcos\CDC_%date:~0,2%%date:~3,2%.IDA
move /y "%Origem%" "%Destino%"

Postado

@Marcos Pereira Simões  Olá Marcos, como vai?

 

Faça um LOOP, ou seja, utilize FOR, crie uma variável que pula de 1 em 1, porém, já vou deixar um aviso que esse 0(zero), vai prolongar o código provavelmente, pois ele é totalmente desnecessário, em outras palavras, você vai ter que criar um condição SE, neste caso, se chega no 09 à variável pula para 10, para facilitar a sua vida eu colocaria pulando de 1 em 1(1, 2, 3, 4 ...) e não (01, 02, 03, 04 ...).

 

Agora chegou a sua vez, dei as chaves do castelo, pega a dica e termina esse código.

 

Até.

  • Solução
Postado

Veja se é isso:

 

GtP37FY.gif

 

 

@echo off
set Origem=C:\Documentos\Marcos\CDC.IDA
set Destino=C:\Users\marcos.psimoes\Documentos\Marcos
set Arquivo=CDC_%date:~0,2%%date:~3,2%

:Sequencia
set /a Contador+=1
set ZContador=0%Contador%
set ZContador=%ZContador:~-2%
if not exist "%Destino%\%Arquivo%%ZContador%.IDA" (move /y "%Origem%" "%Destino%\%Arquivo%%ZContador%.IDA") else (goto :Sequencia)
exit

 

Isso funciona se não tiver mais de 99 arquvios no destino, se tiver mais vai ter que usar 001, 002, 003 ao invés de 01, 02, 03....

  • Curtir 1
  • Obrigado 1
Postado
26 minutos atrás, Swalls disse:

@Marcos Pereira Simões procure sobre o forfiles,  acredito que ele foi feito exatamente para coisas assim.

ps: ricardo já é padrão de consultoria em batch kkk

Agradeço o tok é que o Ricardo sempre me ajudou.
valeu.

@ricardo_br Valeu camarada por mais essa ajuda.
Perfeito, era exatamente como eu queria.

1 hora atrás, ZTM disse:

@Marcos Pereira Simões  Olá Marcos, como vai?

 

Faça um LOOP, ou seja, utilize FOR, crie uma variável que pula de 1 em 1, porém, já vou deixar um aviso que esse 0(zero), vai prolongar o código provavelmente, pois ele é totalmente desnecessário, em outras palavras, você vai ter que criar um condição SE, neste caso, se chega no 09 à variável pula para 10, para facilitar a sua vida eu colocaria pulando de 1 em 1(1, 2, 3, 4 ...) e não (01, 02, 03, 04 ...).

 

Agora chegou a sua vez, dei as chaves do castelo, pega a dica e termina esse código.

 

Até.

@ZTMagradeço pelo retorno.

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

LANÇAMENTO!

eletronica2025-popup.jpg


CLIQUE AQUI E BAIXE AGORA MESMO!