Windows-batch: Datoformatvariabel udskrives ikke korrekt

Indlæg af Hanne Mølgaard Plasc

Problem



Så jeg har denne kode.


FOR /F "tokens=*" \%\%A IN ('dateFormat +"\%Y/\%m/\%d \%T"') DO SET Now=\%\%A
CALL run\_some\_job "\%Now\%"


min output.


JOB\_FILE\_PATH>FOR /F "tokens=*" \%A IN ('dateFormat +"m/T"
') DO SET Now=\%A

JOB\_FILE\_PATH>SET Now=m/T

JOB\_FILE\_PATH>CALL run\_some\_job  m/T


Jeg bruger dateFormat værktøjet fra date.exe i dette.
http://unxutils.sourceforge.net/for at udskrive dato. Hvis jeg gør dateFormat + '\% Y/\% m/\% d\% T', end det fungerer korrekt. [4]


Tak

Bedste reference


Du er nødt til at undslippe procenttegnene i datoformatargumentet:


FOR /F "tokens=*" \%\%A IN ('c:utilsdate +"\%\%Y/\%\%m/\%\%d \%\%T"') DO SET Now=\%\%A