web-dev-qa-db-ja.com

Windows 7タスクスケジューラが操作コード2を返し続ける

自分のアカウントで実行するようにスケジュールされたタスクを設定しました。正常に実行されたとしても、実行されるすべてのコードは(2)の操作コードを返します。以下のリンクでこのエラーコードを調べたところ、特定のファイルが見つからないとのことです。

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

very単純なことをしても、(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スケジュールタスクは操作コードを返し続けます(2)。 (0)の操作コードが表示されるはずですが、これは成功したこと、正しいことを意味しますか?

12
user785179

[アクションの編集]ダイアログボックスの[開始(オプション)]ボックスにパスを入力していない可能性があります。

実行中のプログラムにパスがあったとしても、Windows 7では、プログラムを実行する場所を指定するよう求められます。

22
tlhumphrey2

スケジュールされたタスクを削除して再作成するまで、私は取り消し線を引いていた...今はうまくいく。理由はわかりませんが、あります。

1
Jeff J.

私は同様の問題を抱えていて、受け入れられた回答とそのコメントの両方で提案されたものに加えて、もう1つのことをしなければならないことがわかりました。タスクを再作成し、「構成」をWindows Server 2003、Windows XP、またはWindows 2000に設定する必要がありました理由がわかりません。それはそれらのOSのいずれにも当てはまりませんが、私がそうした後、私の仕事は実際に機能しました。

これが実行され、機能する場合でも、エラーコードが表示される場合は、スクリプトの最後にexit 0と入力してみてください。

それを見つけるのに私はたくさんのググる必要があったので、うまくいけばこれが誰かに役立つことを望みます。

1
GTerry

さて、ここでパーティーに遅れるのはわかっていますが、問題の多くはOperational CodeReturn Codeを混同していることに起因すると思います。私はWindowsプログラミングまたは内部の専門家ではありません(私はWindowsシステムを使用してプログラミングをして生計を立てていますが、私のプログラミングはWindowsシステム用ではありません)。

私が正しく理解している場合:Operational Codeは、プログラマーが設定することを決定した値で実行されるルーチンによって設定されます。 戻りコードは、成功または失敗を示します。

スケジュールされたタスクの1つの履歴から次の(編集された)例を考えてみます。イベント201、タスクカテゴリ「アクション完了」はOperational Code of(2)を示します。下の[全般]タブの下にメッセージがあります。

タスクスケジューラは、タスク「\ My_task」、インスタンス「{xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx}」、アクション「C:.....\blahblah.exe」を戻りコード0で正常に完了しました。

成功の兆候があります。別の戻りコードは失敗を示します。 (2)のOperational Codeは、報告されたときにルーチンが(この場合)終了したことを単に示しています。 操作コードに対して解釈される設定値があるとは思いません。

0
Quigs