Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/batch-file/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Batch file 任务调度程序说任务正在运行,但它';不是_Batch File_Windows 10_Scheduled Tasks - Fatal编程技术网

Batch file 任务调度程序说任务正在运行,但它';不是

Batch file 任务调度程序说任务正在运行,但它';不是,batch-file,windows-10,scheduled-tasks,Batch File,Windows 10,Scheduled Tasks,我正在尝试创建计划任务以运行批处理文件。我知道我的批处理文件运行良好,因为手动运行它没有问题。但是,当任务调用它时,它会说它正在运行,但它不是。我知道它没有运行的原因是它调用了一个python脚本,python脚本发送了一封电子邮件,告诉我进程已经开始了。我没有收到那封电子邮件。python进程不会花太长时间(最多5分钟),任务一直说它在一小时后“运行” 我有“无论用户是否登录都运行”的当前设置(如果我将其设置为“仅当用户登录时运行”,则似乎根本不起作用,因为即使我告诉它运行,状态也不会从“就绪

我正在尝试创建计划任务以运行批处理文件。我知道我的批处理文件运行良好,因为手动运行它没有问题。但是,当任务调用它时,它会说它正在运行,但它不是。我知道它没有运行的原因是它调用了一个python脚本,python脚本发送了一封电子邮件,告诉我进程已经开始了。我没有收到那封电子邮件。python进程不会花太长时间(最多5分钟),任务一直说它在一小时后“运行”

我有“无论用户是否登录都运行”的当前设置(如果我将其设置为“仅当用户登录时运行”,则似乎根本不起作用,因为即使我告诉它运行,状态也不会从“就绪”更改)。我还有“以最高权限运行”的设置,只有“程序/脚本”下批处理文件的名称和“开始”下批处理文件的路径。我还要注意,我的用户帐户是“域\管理员”

然而,我尝试了其他的称呼方式。我尝试将批处理文件的整个路径放在“Program/script”(G:\GOM3\u Update\FeatureServices\copies\test.bat)下,或者将路径放在python程序中,然后将路径放在python脚本中作为参数,但这似乎也不起作用

我不确定这个问题是由windows 10的一些主要安全设置引起的,还是由任务计划程序设置中的一些次要设置引起的

以下是我当前的设置:

中开始的完整路径是:“G:\GOM3\U更新\FeatureServices\copies\”

批处理文件:

"C:\Users\Administrator.DOMAIN\AppData\Local\ESRI\conda\envs\arcgispro-py3-clone\python.exe" "G:\GOM3_Update\FeatureServices\copies\database.py"

我将在此处包括批处理文件的完整路径:

根据我个人的经验,这通常是环境问题,也就是当前工作目录等

另外,请确保单击任务计划程序右侧窗格中的“刷新”按钮,因为除非手动刷新,否则它不会更新任务的状态。如果您这样做,您可能会看到它从“正在运行”变为“准备就绪”。 我觉得您的屏幕没有刷新的原因是,通常任务计划程序不允许任何计划任务执行超过1小时的时间,并且您说您的屏幕在1小时后仍在显示“正在运行”

任务历史记录下的退出代码和消息说明了什么?

退出代码0表示任务计划程序未捕获任何错误


另一个想法是在执行任何操作之前,将批处理开始脚本(批处理内部)记录到日志文件中。并对python文件执行相同的操作。这将帮助您缩小问题的范围。

如果您查看任务管理器,是否看到cmd.exe正在运行?我的猜测是任务正在运行,但批处理文件被“卡住”——可能有一条您看不到的错误消息。我建议您首先阅读许多批处理文件,双击它们可以正常工作,但无法按计划任务运行,因为环境不同,批处理文件中没有考虑到这一点。批处理文件包含什么?如果它只包含一行要运行的
python.exe
,并且在
,批处理文件根本不需要。@Mofi我刚刚添加了批处理文件的屏幕截图。我尝试在不使用批处理文件的情况下运行任务,在“Program/script”下输入python.exe的路径,并将python脚本的路径作为参数,但这似乎也不起作用。这给了我同样的问题。在大多数情况下,在批处理文件中发布文本比屏幕截图更好。在这种情况下,尽管您的python.exe路径格式不正确<代码>,不应出现。请在完成以下操作后给我留言:如果任务有多个操作,请删除“编辑操作”对话框的屏幕截图,并将其替换为“操作”选项卡的屏幕截图。在cmd窗口中手动运行批处理,不具有管理员权限。有区别吗?