Usando datas em um nome de arquivo em lotes

1

Eu tenho um arquivo que é gerado com a data atual usando o mês, dia e ano. Anteriormente, esse arquivo não incluía uma data e eu usei um script com o _% All% em um arquivo em lotes para mover o arquivo para uma pasta diferente e isso funciona bem.

Agora preciso da sintaxe correta para usar, para que o script leve o arquivo com a data atual e continue fazendo o script mover o arquivo para uma pasta de backup.

O seguinte é o script que foi usado com sucesso.

@echo off
@For /F "tokens=1,2,3,4 delims=/ " %%A in ('Date /t') do @(
  Set DayW=%%A
  Set Day=%%B
  Set Month=%%C
  Set Year=%%D
  Set All=%%A%%B%%C%%D
  )

move \crserverXX\Batch\ASCII\OCR1_CRM\OCR1.CSV \crserverXX\Batch\ASCII\OCR_Backup\OCR1.CSV
ren \crserverXX\Batch\ASCII\OCR_Backup\OCR1.CSV OCR1_%All%.CSV
move \crserverXX\Batch\ASCII\OCR1_CRM\OCR1.CSV.bak \crserverXX\Batch\ASCII\OCR_Backup\OCR1.CSV.bak
ren \crserverXX\Batch\ASCII\OCR_Backup\OCR1.CSV.bak OCR1_%All%.CSV.bak

O problema agora é que o arquivo gerado a cada dia também incluirá a data como a seguir: OCR1081916.CSV.

Qual é a maneira correta de usar a variável date para que ela mova o arquivo OCR1 independentemente da data?

    
por RogerV 18.08.2016 / 13:47

1 resposta

0

Eu preciso do script para mover o arquivo do local original para o local de backup

At this point since the file is generated with a date each day

Você pode descartar a maior parte do seu arquivo em lote nesse caso. Todo o código para manipular a data e renomear arquivos não é necessário.

Use o seguinte arquivo em lotes:

@echo off
move \crserverXX\Batch\ASCII\OCR1_CRM\OCR1*.CSV \crserverXX\Batch\ASCII\OCR_Backup\
move \crserverXX\Batch\ASCII\OCR1_CRM\OCR1*.CSV.bak \crserverXX\Batch\ASCII\OCR_Backup\

Leitura Adicional

por 21.08.2016 / 17:07