通过Windows任务调度器调度Python脚本
请遵守以下Python脚本“script.py”: 我的目的是使用Windows任务调度器计划Python脚本。我以前使用其他Python脚本成功地完成了这项工作。但是,我无法通过调度执行上面显示的脚本。我不确定这是Windows任务调度程序问题还是Python问题,但我知道: 如上所示,“Script.py”是一个用于在“Some_目录”目录上运行7zip压缩的脚本。脚本本身及其调用的7z.exe应用程序都存储在“Y:\z_7z”目录中 手动执行时,脚本似乎工作正常。我可以双击脚本,它将正确执行。此外,我可以通过以下命令从命令行执行脚本:通过Windows任务调度器调度Python脚本,python,windows-task-scheduler,Python,Windows Task Scheduler,请遵守以下Python脚本“script.py”: 我的目的是使用Windows任务调度器计划Python脚本。我以前使用其他Python脚本成功地完成了这项工作。但是,我无法通过调度执行上面显示的脚本。我不确定这是Windows任务调度程序问题还是Python问题,但我知道: 如上所示,“Script.py”是一个用于在“Some_目录”目录上运行7zip压缩的脚本。脚本本身及其调用的7z.exe应用程序都存储在“Y:\z_7z”目录中 手动执行时,脚本似乎工作正常。我可以双击脚本,它将正确执
Y:\z_7z\Script.py
但是,我无法通过导航到“C:\Python27”目录并尝试以下操作来手动执行脚本:
python Y:\z_7z\Script.py
这会产生以下错误:
Line 5 in module subprocess.Popen(cmd, stderr = subprocess.STDOUT, ...)
WindowsError: [Error 2] The system cannot find the file specified
提供所有这些信息后,我遇到的真正问题是Windows任务计划程序无法执行此脚本(上次运行结果=0x1)。我已经尝试了各种Windows任务计划程序配置,包括一个似乎很理想的配置,如下所示:
- 程序/脚本:“C:\Python27\python.exe”
- 添加参数(可选):“Y:\z\u 7z\Script.py”
- 无论用户是否登录,都要运行
7z
。提供可执行文件的完整路径
cmd=[r'C:\ProgramFiles\7zip\7z.exe','a',zip\u文件名,src\u目录,'-mx9']
考虑到C:\Program Files\7zip\7z.exe
是可执行路径,这将起作用python
进程。运行python脚本本身zip\u文件名是相对的。我不确定这个参数是不是文件名。这可能是一条路。在这种情况下,可以在C:\Windows\System32
上创建.7z文件。要修复此问题,请将zip\u file\u name
设置为完整路径
进行该更改后,Windows任务计划程序上次运行结果=“操作已成功完成。(0x0)”。因此,似乎现在任务调度器端的所有内容都已正确设置。但是,脚本没有做任何事情。不过,我可以手动运行脚本,效果非常好。另外,可能值得注意的是,我正在关闭所有程序以测试计划的任务。我在登录和未登录时都在测试它。同样的结果。成功的任务,看似不成功的脚本。你在(3)中的建议解决了这个问题。我也试过了,但似乎没有什么不同。完成(3)后,无论我是否执行(2),脚本都会运行。
Line 5 in module subprocess.Popen(cmd, stderr = subprocess.STDOUT, ...)
WindowsError: [Error 2] The system cannot find the file specified