我一直在努力在Windows Server 16上自动化.py文件。我正在使用Task Scheduler调用具有cmd代码的BAT文件来执行.py。
BAT代码:
python "F:\FinanceServer\Python\Scripts_in_Production\Vendor Rejects.py"
PAUSE
通过命令行执行文件“ Vendor Rejects.py”可以按预期工作,并且可以单独执行BAT文件。但是,当我从预定任务(从同一用户目录)执行时,返回以下内容:
FileNotFoundError: [Errno 2] No such file or directory: 'N:/Procurement & Pricing/Reporting/Python Data Pulls/Vendor Rejection Reports/weekly Vendor Rejections03.04.2019.csv'
找不到该路径,并且该路径本身已被检查了多次。
我尝试在前面添加os.chdir
行,但是返回相同的错误,一直返回到N:/
。我还尝试编辑路径,使N联网时以\\tsclient\N
开头,但是对于同一路径,却会收到[WindowsError3]。我尝试使用os.join.path('N:\'。etc ...)返回了相同的结果。
“计划任务”设置为以最高权限运行,并与我用于运行BAT的用户配置文件.py从命令行运行。
更复杂的是,我还有其他.py脚本,它们是由执行“ Vendor Rejects.py”的同一BAT执行的,也使用相同的计划任务。 5/9的.py脚本可以按预期工作,并且输出的返回路径与返回上述错误的格式相同。
答案 0 :(得分:1)
通过将“计划任务”设置“以最高权限运行”关闭,并将网络驱动器添加到PATH,使其工作。