Come posso giorno della settimana di uscita e il mese in batch (file di log)?
-
29-09-2019 - |
Domanda
Sto cercando di installare 7zip per i backup automatici, ma sto avendo problemi con i nomi dei file di output.
Ho provato ad utilizzare il comando date%% ma appena fatto 2 directory nel mio backup.
C: \ Users \ Desktop \ dom 11 \ 07 \ 2010.7z
Come posso farlo basta accedere il giorno e il mese?
C: \ Users \ Desktop \ Sun 11-07-2010.7z
Soluzione
Prova
7z a %DATE:~-4%-%DATE:~4,2%-%DATE:~7,2%.7z *.* for (YYYY-MM-DD)
o
7z a %DATE:~7,2%-%DATE:~4,2%-%DATE:~-4%.7z *.* for (DD-MM-YYYY)
(*. * È la maschera per i file per il backup)
Altri suggerimenti
Si sta utilizzando una mazza file? Guardate qui http://www.tech-recipes.com/rx/956/windows-batch-file-bat-to-get-current-date-in-mmddyyyy-format/
È possibile utilizzare WMI per ottenere i dati di data in un formato specifico. Il problema con l'uscita da date
(e la variabile ambiente %date%
) è che è molto locale-specifico.
Se si esegue:
wmic path win32_localtime get day^,month^,year^ /format:csv
si vedrà l'uscita è necessario processo.
Il seguente script ti porterà il formato yyyy-mm-dd
che è necessario (utilizzando il giorno della settimana come la chiave di ordinamento primaria non è una buona idea):
@echo off
for /f "skip=2, tokens=2-4" delims=," %%a in ('wmic path win32_localtime get day^,month^,year^ /format:csv') do (
set /a ymd = 10000 * %%c + 100 * %%b + %%a
)
set ymd=%ymd:~0,4%-%ymd:~4,2%%ymd:~6,2%
echo %ymd%