ear*_*909 5 batch-file scheduled-tasks windows-10
我正在尝试创建计划任务来运行批处理文件。我知道我的批处理文件运行良好,因为我手动运行它没有问题。然而,当任务调用它时,它说它正在运行,但实际上并没有。我知道它没有运行的原因是因为它调用了一个 python 脚本,而 python 脚本发送了一封电子邮件说该进程已经开始。我没有收到那封电子邮件。Python 进程不会花费太长时间(最多可能 5 分钟),并且该任务在一小时后一直说它正在“运行”。
我的当前设置为“无论用户是否登录都运行”(如果我将其设置为“仅在用户登录时运行”,则似乎根本不起作用,因为即使状态也不会从“就绪”改变如果我告诉它运行)。我还有“以最高权限运行”的设置,以及“程序/脚本”下的批处理文件的名称和“开始于”下的批处理文件的路径。我还想指出,我的用户帐户为“DOMAIN\Administrator”。
但是,我尝试过其他调用方式。我尝试将批处理文件的整个路径放在“Program/script”下(G:\GOM3_Update\FeatureServices\copies\test.bat),或者将路径放入python程序,然后将路径放入python script 作为参数,但这似乎也不起作用。
我不确定这个问题是由 Windows 10 的某些主要安全设置引起的,还是由任务计划程序设置中的一些次要设置引起的。
这是我当前的设置:
启动的完整路径为:“G:\GOM3_Update\FeatureServices\copies\”
批处理文件:
"C:\Users\Administrator.DOMAIN\AppData\Local\ESRI\conda\envs\arcgispro-py3-clone\python.exe" "G:\GOM3_Update\FeatureServices\copies\database.py"
Run Code Online (Sandbox Code Playgroud)
根据我个人的经验,这通常是环境问题,又名当前工作目录等问题。
另外,请确保单击任务计划程序右侧窗格中的刷新按钮,因为众所周知,除非您手动刷新,否则它不会更新任务的状态。如果您这样做,您可能会看到它更快地从“运行”变为“就绪”。我觉得你的屏幕不刷新的原因是因为通常任务计划程序不允许任何计划任务执行时间超过 1 小时,而你说你的屏幕在一小时后仍然显示“正在运行”。
退出代码 0 表示任务计划程序没有捕获错误。
另一个想法是在执行任何操作之前将批处理脚本(批处理内)的启动记录到日志文件中。对 python 文件执行相同的操作。这将帮助您缩小问题范围。