Python 3.7.3 / Win 10
BAT-файл запускается и регистрирует время начала и окончания, включенный скрипт Python не запускается, результатов не дает. Dates.txt не создается и не обновляется, а операторы печати не отображаются. Ошибки не возвращаются, и мое окно CMD удерживается на паузе.
Я перепробовал все варианты, которые я смог найти на SO, для запуска PY из BAT, но без радости. Похоже, вариантов вызова .PY из .BAT не так много. Я попытался запустить BAT и только вызов Python самостоятельно, из обычных командных команд с повышенными привилегиями (admin), без изменений.
get_dates.bat:
SET logfile="J:\My Drive\_Ongoing\Python\250ok_v20\batch.log"
@echo Starting Script at %date% %time% >> %logfile%
"C:\ProgramData\Anaconda3\pythonw.exe" "J:\My
Drive\_Ongoing\Python\250ok_v20\get_dates.py"
pause
@echo Finished at %date% %time% >> %logfile%
get_dates.py:
from dateutil.relativedelta import relativedelta
from datetime import datetime
file = "J:/My Drive/_Ongoing/Python/250ok_v20/date.txt"
def get_dates():
today = date.today()
d = today - relativedelta(months=1)
date(d.year, d.month, 1)
startdate = (date(today.year, today.month, 1) -
relativedelta(months=1))
enddate = (date(today.year, today.month, 1) - relativedelta(days=1))
startdate = str(startdate)
enddate = str(enddate)
return(startdate, enddate)
(startdate, enddate)= get_dates()
with open(file, 'w') as the_file:
the_file.write(startdate+'\n')
the_file.write(enddate+'\n')
print(startdate)
print(enddate)
Сценарий PY прекрасно работает из Spyder, файл date.txt создается с правильными значениями.
Если я бегу:
"J:\My Drive\_Ongoing\Python\250ok_v20\test.bat"
из CMD, batch.log
добавляет начальные / конечные строки, но dates.txt
не создается / обновляется.
Если я бегу:
"C:\ProgramData\Anaconda3\pythonw.exe" "J:\My Drive\_Ongoing\Python\250ok_v20\get_dates.py"
Ничего не происходит, никаких следов.
Это как-то связано с Анакондой?
У меня ранее была установлена другая версия Python, и я, возможно, не удалял ее перед установкой Spyder/Anaconda
, это может вызвать проблемы?
Спасибо за ваше время.