【发布时间】:2017-07-19 23:18:42
【问题描述】:
我目前有一个包含此代码的 .bat 文件,该文件由 Windows 计划任务调用,并且运行良好(注意我没有运行整个 py 脚本,只是内部的一个函数) :
SET PATH=c:\python27\ArcGIS10.5\;c:\Windows\system32\;C:\Python27\ArcGIS10.5\Scripts
python -c "import sys;sys.path.append(r'\\moss\scripts\Automated');import dbAudit;dbAudit.propInsDate()"
当 .py 文件位于同一目录中并且完全可调用时,我正在尝试消除我所有任务依赖 .bat 文件的需要。
就像在黑暗中的初始刺伤一样,我尝试将其添加到程序/脚本框中:
C:\Windows\System32\cmd.exe
然后将其添加到参数框中:
python -c "import sys;sys.path.append(r'\\moss\scripts\Automated');import dbAudit;dbAudit.propInsDate()"
这似乎失败了,因为我认为我的转换没有那么简单,而且我可以看到我没有包含任何“设置路径”项目。
你认为我的bat文件可以不等式,都可以直接在Windows计划任务中完成吗?
感谢您的帮助。
【问题讨论】:
-
您根本不需要 CMD shell。使用 python.exe 的完全限定路径,参数可以是,例如,
-c "import os, sys; os.environ['PATH'] += r'C:\Python27\ArcGIS10.5;C:\Python27\ArcGIS10.5\Scripts'; sys.path.append(r'\\moss\scripts\Automated'); import dbAudit; dbAudit.propInsDate()"。 -
另外,请考虑为定义 setuptools 函数入口点的脚本创建一个包。从 Wheel 包安装时,入口点将被包装为“脚本”目录中的可执行文件,您可以直接运行该目录。
标签: python windows batch-file scheduled-tasks