2016-03-30 35 views
0

tskill Windowsコマンドを実行するJavaプログラムを実行しようとしていますが、タイトルにコマンドプロンプトからtskillを実行するとパスに入ります。私はこのプログラムをEclipseのJavaアプリケーションとして実行しています。私はc:\ windows \ system32をeclipseのPathに追加しましたが、javaプログラムはまだそれを見つけることができません。これをどうやって解決するのですか? Javaプログラムでどのようなパスが設定されているかはどのように判断できますか?java.io.IOException:プログラム "tskill"を実行できません:CreateProcess error = 2、指定されたファイルが見つかりません

try { 
     RunProcess.doExecuteCommand("tskill winword /A"); 
     Thread.sleep(1000); 
    } catch (Throwable t) { 
     throw new GenerationException(t); 
    } 
} 
+0

を試してみてください? – VinhNT

+0

C:\ Windows \ System32 \ tskill.exe –

+0

@MrSmith 'System.out.println(System.getenv());'の 'PATH'変数に' c:\ Windows \ System32 \ 'エントリがあるかどうか確認できますか?そうでない場合は、このエントリを追加して試してみてください。 –

答えて

1

TSKILL(またはtskill.exe)である。この

try { 
    Runtime rt = Runtime.getRuntime(); 
    rt.exec("tskill winword /A"); 
} catch (Throwable t) { 
    t.printStackTrace(); 
} 
+0

私は、RunProcess.doExecuteCommandが実行していることを確認しました。 Runtime.getRuntime()が探しているパスを調べるにはどうすればよいですか? –

+0

RunProcessの完全なパッケージとは何ですか? JDKの標準クラスではないようですね。 – VinhNT

+0

Runtime.getRuntime Javaアプリケーションが実行されている環境を返します。アプリケーション実行中にeclipseやその他のパラメータで設定を上書きしないと、OSからのすべての環境の継承が含まれます。 – VinhNT

関連する問題