2016-10-19 17 views
0

ここでは何が起こっているのですか? start javaw -jar BTG_Producer.jarを含む.Batファイルを作成しました。これをダブルクリックして手動で起動すると、自分のシステムトレイに自分のJavaプログラムが表示され、Windowsタスクマネージャのプロセス "javaw.exe * 32"が表示されます。タスクスケジューラを使ってこれを実行すると、* 32のプロセスで "javaw.exe"が起動し、システムトレイにプログラムが表示されません。あなたは私が間違っていることを知っていますか?タスクスケジューラが.Jarファイルを完全に起動していないため、.batファイルを実行するのはなぜですか?

+0

タスクスケジューラの仕事がどのようになっているかを明確にすることはできますか? – soja

+0

私はあなたの望むものを明確にしていませんか?毎日午前12時05分にバッチファイルを実行するように指示される基本的な作業です。 – Ardel

+0

私は、ジョブが実行されているユーザーアカウント(あなたのものであるかどうか)、アクションの詳細、特に引数と開始フォルダ(アクションの編集時に表示される)について説明しています。 – soja

答えて

1

タスクスケジューラを使用してプロセスを起動すると、デスクトップからプロセスを起動するときと環境が異なる場合があります。これをテストするには、タスクスケジューラの/kパラメータを使用してcmdを実行するタスクを作成します。実行するとcmdが開き、set >%userprofile%\Desktop\environment1.txtを実行できます。次に、通常どおりcmdを開き、set >%userprofile%\Desktop\environment2.txtを実行します。 2つのファイルを並べて比較し、比較します。

この場合、PATH変数が異なると思われます。そのため、32ビットJavaは1つのケースで実行され、64ビットは別のケースで実行されます。

これを修正するには、バッチファイルに64ビットjavaw.exeを明示的に指定します。

C:\path\to\javaw.exejavawの代わりに。

関連する問題