【问题标题】:Converting a .bat file into a Windows Scheduled Task Action将 .bat 文件转换为 Windows 计划任务操作
【发布时间】: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


【解决方案1】:

eryksun 提供了正确答案,但已将其作为评论发布,因此我无法将其标记为正确答案,所以我将他的回复粘贴在这里:

您根本不需要 CMD shell。使用完全限定的路径 python.exe,参数可以是,例如,

-c "导入操作系统, 系统; os.environ['PATH'] += r'C:\Python27\ArcGIS10.5;C:\Python27\ArcGIS10.5\Scripts'; sys.path.append(r'\moss\scripts\Automated');导入数据库审计; dbAudit.propInsDate()"

– eryksun 7 月 20 日 1:52

【讨论】:

    猜你喜欢
    • 2014-08-14
    • 2011-11-06
    • 2013-07-18
    • 2014-02-28
    • 2015-11-30
    • 1970-01-01
    • 1970-01-01
    • 2016-08-16
    • 1970-01-01
    相关资源
    最近更新 更多