Ir ao conteúdo
  • Cadastre-se

Bat Como criar sequencial de arquivo via bat?


Ir à solução Resolvido por ricardo_br,

Posts recomendados

@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%"

Link para o comentário
Compartilhar em outros sites

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

Link para o comentário
Compartilhar em outros sites

  • Solução

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
Link para o comentário
Compartilhar em outros sites

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.

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!