Le variabili di ambiente %DATE%
e %TIME%
forniscono la data e l'ora correnti sui computer Windows nella riga di comando e all'interno di un file batch.
Purtroppo, questi valori sono a livello locale! Significa che, diciamo, su una macchina tedesca, otterrai
26.1.2011
invece di
2011-26-01
questo rovina l'ordinamento se si desidera utilizzare questa variabile in un nome file.
Esiste un modo semplice per ottenere una YYYY-MM-DD
stringa di data non consapevole delle impostazioni locali in un file batch di Windows?
Per il momento, sto lavorando con questa soluzione piuttosto complicata:
for /f "tokens=1,2,3,4 delims=. " %%i in ('date /t') do set date=%%k-%%j-%%i
echo %date%
ma questo è ora specifico della localizzazione tedesca - ovviamente, una soluzione completamente indipendente sarebbe molto più bella.
Il sistema operativo in questione è Server 2008. Preferirei di gran lunga non utilizzare uno strumento di terze parti, se possibile.