Windows 7 task scheduler keeps returning operation

2019-06-15 18:55发布

问题:

I set up a scheduled task to run under my account. Everything it runs, even if it is successful, returns an operational code of (2). I looked this up this error code at the below link, and it claims it cannot find the specific file.

http://www.hiteksoftware.com/knowledge/articles/049.htm

Even if I do something very simple, I get back operational code of (2). For example:

run program: cmd.exe

start in path: c:\windows\system32

I start the task and I see the process running in my task manager, so I kill the task. I then check in the history of scheduled task and it shows up as (2).

Something more realistic of what I am doing:

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

run program: php.exe

start in path: c:\php

arguments: -f test.php

Everything works in the command line, but Windows schedule task keeps returning operational code (2). I should be seeing an operational code of (0), which means successful, correct?

回答1:

You may not have put a path in the "Start In (Optional) box of the Edit Action dialog box.

Even though you had a path on the program that was being executed, Windows 7 still wants you to tell it where to run the program.



回答2:

I've been having a similar issue and found that in addition to what was suggested in both the accepted answer and its comments I had to do one other thing. I had to re-create the task and set its "configure for" to Windows Server 2003, Windows XP, or Windows 2000 I dont understand why, since its not for any of those OS' but after I did so my task actually worked.

If this runs, and works, yet you still get an error code try entering exit 0 at the end of your script.

It took me a lot of googling to find that so hopefully this is helpful to someone.



回答3:

I was striking out until I just deleted & re-created the scheduled task...now it works. Don't know why but there it is.



回答4:

Okay I know I am late to the party here, but I think a lot of the problem stems from confusing the Operational Code with a Return Code. I'm not an expert in Windows programming or internals (I make a living using a Windows system to program, but my programming isn't for Windows systems).

If I understand correctly: The Operational Code is set by what ever routine being run at whatever value the programmer decided to set it at. The Return Code is indicative of success or failure.

Consider the following (edited) example from the history of one of my scheduled tasks: Event 201, Task Category "Action completed" shows an Operational Code of (2). Down below under the General tab, is the message:

Task Scheduler successfully completed task "\My_task" , instance "{xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx}" , action "C:.....\blahblah.exe" with return code 0.

There's the indication of success. A different return code would indicate a failure. The Operational Code of (2) merely indicates that the routine was finished (in this case) when reported. I don't believe there's any set values to be interpreted for the Operation Code.