Como criar um arquivo de lote para salvar como data

0

Eu criei um arquivo de lote que é executado no agendador de tarefas do sistema de folha de pagamento do Sage VIP. O problema que estou recebendo é a data date retorna a palavra date.zip e não a data real.

Código:

V:
@ECHO OFF
set ldt=%date%
pkzipc -add B:\VIP_Backup_IT\ldt *.pay *.vix
echo ldt
pause
exit

Eu recebo ldt.zip e não a data

    
por Eric 22.09.2015 / 15:07

2 respostas

0

Como %date% , para fazer referência a variáveis, você precisa incluir o nome delas em sinais de porcentagem:

V:
@ECHO OFF
set ldt=%date%
pkzipc -add B:\VIP_Backup_IT\%ldt% *.pay *.vix
echo %ldt%
pause
exit

Observação: dependendo das configurações regionais, o formato de data pode produzir uma string inválida como nome de arquivo.

    
por 22.09.2015 / 15:23
0

Você não pode criar ou renomear um arquivo ou diretório com Data como nome sem analisar e remover o símbolo de barra /

Aqui está uma maneira de obter data e analisá-la.

@echo off
for /f "tokens=2 delims==" %%a in ('wmic OS Get localdatetime /value') do set "dt=%%a"
set "YY=%dt:~2,2%" & set "YYYY=%dt:~0,4%" & set "MM=%dt:~4,2%" & set "DD=%dt:~6,2%"
set "HH=%dt:~8,2%" & set "Min=%dt:~10,2%" & set "Sec=%dt:~12,2%"

echo %YYYY%%MM%%DD%-%HH%%Min%
pkzipc -add B:\VIP_Backup_IT\%YYYY%%MM%%DD%-%HH%%Min% *.pay *.vix

pause
exit
    
por 22.09.2015 / 18:27

Tags