Пакет Windows: переменная формата даты не печатается правильно - PullRequest
1 голос
/ 25 марта 2011

Итак, у меня есть этот код.

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

мой вывод.

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

В этом я использую инструмент dateFormat из date.exe.http://unxutils.sourceforge.net/ для печати даты.Если я делаю dateFormat + "% Y /% m /% d% T", то это работает правильно.

Спасибо

1 Ответ

1 голос
/ 25 марта 2011

Вам необходимо экранировать знаки процента в аргументе формата даты:

FOR /F "tokens=*" %%A IN ('c:\utils\date +"%%Y/%%m/%%d %%T"') DO SET Now=%%A
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...