Я работаю с batchfile, где я регулярно пишу время для мониторинга производительности. Это хорошо работало, но в последнее время я назвал сценарий Python в рамках этого командного файла и измерения времени, кажется, больше не работают:
Мой пакетник выглядит следующим образом:python script messes up% time% in batchfile
echo [%TIME%] -- task 1
<perform task 1>
echo [%TIME%] -- task 2
<perform task 2>
echo [%TIME%] -- finished
, что дает следующие результаты:
[14:51:32.97] -- task 1
[14:51:34.32] -- task 2
[14:51:39.07] -- finished
Теперь я заменил скрипт Python (который занимает по крайней мере несколько минут), но мой% TIME% переменный, кажется, не будут обновляться больше:
echo [%TIME%] -- task 1
<perform task 1>
echo [%TIME%] -- task 2
python task2.py
echo [%TIME%] -- finished
дает следующий результат:
[14:51:40.02] -- task 1
[14:51:44.32] -- task 2
[14:51:44.32] -- finished
Кто-нибудь знает, что может вызвать эту проблему и как ее решить?
Для вашей информации я работаю над виртуальной системой Windows 7, а моя установка Python - версия 3.5.0.
Это ваш фактический код, или вы уезжаете некоторые биты из? Потому что я могу почти гарантировать, что у вас есть '% TIME%' внутри набора круглых скобок, и поэтому он не обновляется. – SomethingDark
Попробуйте 'call echo [%% time %%]' – wOxxOm
Спасибо за быстрые комментарии. Тем временем я обнаружил, что проблема намного сложнее, чем в первый раз, и я делаю более глубокий анализ для сужения проблемы. Я отредактирую исходный вопрос и вернусь к нему, как только у меня появится дополнительная информация. Тем временем я могу сказать вам, что parenthese существуют по причинам читаемости, и они не влияют на поведение. Что касается '%% TIME %%', это, похоже, не работает. – Dominique