Windows 7 Windows 7任务计划程序不断返回操作代码2

Windows 7 Windows 7任务计划程序不断返回操作代码2,windows-7,scheduled-tasks,Windows 7,Scheduled Tasks,我设置了在我的帐户下运行的计划任务。它运行的所有内容,即使成功,都返回操作代码(2)。我在下面的链接中查找了这个错误代码,它声称找不到特定的文件 即使我做了一些非常简单的事情,我也会得到(2)的操作代码。例如: run program: cmd.exe start in path: c:\windows\system32 我启动任务,看到进程在我的任务管理器中运行,所以我终止了任务。然后我签入计划任务的历史记录,它显示为(2) 我正在做的事情更现实一些: <? /* file in

我设置了在我的帐户下运行的计划任务。它运行的所有内容,即使成功,都返回操作代码(2)。我在下面的链接中查找了这个错误代码,它声称找不到特定的文件

即使我做了一些非常简单的事情,我也会得到(2)的操作代码。例如:

run program: cmd.exe

start in path: c:\windows\system32
我启动任务,看到进程在我的任务管理器中运行,所以我终止了任务。然后我签入计划任务的历史记录,它显示为(2)

我正在做的事情更现实一些:

<?
/* file in c:\php\test.php */
echo "hello";
?>

运行程序:
php.exe

从路径开始:
c:\php

参数:
-f test.php


所有操作都在命令行中运行,但Windows schedule task不断返回操作代码(2)。我应该看到一个操作代码(0),这意味着成功,对吗

您可能没有在“编辑操作”对话框的“开始位置(可选)”框中放置路径


即使您在正在执行的程序上有一个路径,Windows 7仍然希望您告诉它在哪里运行该程序。

好的,我知道我来晚了,但我认为很多问题都是因为将操作代码与返回代码混淆了。我不是Windows编程或内部代码方面的专家(我以使用Windows系统编程为生,但我的编程不适用于Windows系统)

如果我理解正确: 操作代码由任何一个例程以程序员决定的任何值运行来设置。 返回代码表示成功或失败

考虑我的一个计划任务的历史记录中的以下(已编辑)示例: 事件201,任务类别“操作完成”显示操作代码(2)。 下面的“常规”选项卡下显示消息:

任务计划程序已成功完成任务“\My_Task”、实例“{xxxxxxxx-xxxx-xxxx-xxxxxxxx-XXXXXXXXXXXXXX}”、操作“C:…\blahblah.exe”,返回代码为0


有成功的指示。不同的返回代码将指示失败。操作代码(2)仅表示例程已完成(在本例中)报告时。我不相信操作代码有任何设置值需要解释。

我也遇到了类似的问题,发现除了接受的答案及其注释中建议的内容外,我还必须做另一件事。我必须重新创建任务并设置其“配置”“对于Windows Server 2003、Windows XP或Windows 2000,我不明白为什么,因为它不适用于这些操作系统,但在我这样做之后,我的任务实际起了作用

如果此操作运行且有效,但仍会收到错误代码,请尝试在脚本末尾输入
exit 0


我花了很多时间在谷歌上搜索,希望这对某人有所帮助。

我在删除并重新创建计划任务之前一直在努力……现在它可以工作了。我不知道为什么,但它确实存在。

问题和顶部答案混淆了“返回代码”的概念,它在任务计划程序中显示为“上一次运行结果”以及任务历史记录中显示的“操作码”/“操作码”

如果我创建了一个简单的Python程序,它只执行
sys.exit(7)
,并通过任务调度器运行它,我会得到最后一次运行结果0x7,操作码2。如果我让它不执行任何操作,或
sys.exit(0)
,我会得到最后一次运行结果“操作成功完成(0x0)”"操作码仍然是2。换句话说,执行程序的返回码决定了最后一次运行的结果。操作码似乎是常数2。这也确定了操作码2与返回码2不相关,这可能意味着找不到文件。我们知道文件是在执行时找到的,并且返回了不同的上次运行结果SULT取决于包含的代码

此外,a指出,此历史视图实际上来自事件日志。果然,我可以在事件日志中找到相同的事件(总是值为2)。这意味着操作码的定义将与用于事件的定义相同,与其说是任务计划程序概念,不如说是Windows事件概念

什么是事件的操作码?我一直很难得到一个明确的答案,但据我所知,它似乎最终是由写入事件日志的程序控制的。在您的程序中可以定义操作码。在这种情况下,写入事件日志的是任务计划程序本身或Windows中的其他内容

最后一个观察结果:如果我转到事件查看器并查找
日志:Microsoft Windows TaskScheduler/Operational
来源:Microsoft Windows TaskScheduler
事件ID:102201
,添加操作代码列并进行排序,我会发现它始终是2。事件100和200始终是1。这不仅适用于除了我的手动实验之外,还包括其他所有使用预定任务的随机程序,例如Dropbox和Google更新程序,据我所知,它们正在工作


综上所述,我敢打赌,启动计划任务时生成的事件由Windows硬编码,在写入事件日志时使用操作码1,而在完成任务时生成的事件(成功与否-在上次运行结果中)由Windows硬编码,以便在写入事件日志时使用2的操作码。此操作码似乎是一种误导,它不会影响我们需要担心的任何事情。

我在“开始(可选)”中有程序的完整路径字段。事实上,没有它,我的脚本甚至无法运行!这对我来说并没有真正解决它,但它似乎是一个流行的解决方案。我相信我的问题是php.exe如何退出脚本以及它发送到Windows的返回码。我刚刚结束