• 締切済み

バッチファイルの起動

WEBの画面上からボタンをクリックして、バッチファイルを起動させる プログラムを作成しています。 プログラム・バッチ共ローカルで上記のテストを行なった所、正常にバッチを起動することができませんでした。 プログラム・バッチをサーバに移行し上記のテストを行なった所、バッチが起動せきませんでした。 プログラムは以下の通りです。どこが悪くてサーバ上でバッチが起動できないのでしょうか?。 宜しくお願い致します。     (JSP) <hr> <br> <table width="80%"> <tr> <td> <s:submit value=" 入力完了 " cssClass="form_button" action="TEST" method="doEnter" /> </td> </tr> </table> </s:form> </body> <html>     (JAVA) public String doEnter() throws Exception { boolean vCheckResult = true; String result; try { String sCmd = "D:\\bat\\jksys\\atelnet.bat"; ProcessBuilder builder = new ProcessBuilder(sCmd); Process process = builder.start(); int ret = process.waitFor(); System.out.println("process exited with value : " + ret); }catch (IOException e) { // start()で例外が発生 e.printStackTrace(); } catch (InterruptedException e) { // waitFor()で例外が発生 e.printStackTrace(); } return "success"; }

  • Java
  • 回答数1
  • ありがとう数1

みんなの回答

回答No.1

>プログラム・バッチ共ローカルで上記のテストを行なった所、正常にバッチを起動することができませんでした。 >プログラム・バッチをサーバに移行し上記のテストを行なった所、バッチが起動せきませんでした。 …そもそもJSPやサーブレット、HTMLに書かれたJavascriptなんかがどこでどう動くか理解していますか? そもそもとしてWEBではなく、単純なjavaアプリでbatファイルを起動することができますか? ↑これができればサーブレットからでもできるでしょう。 また1番最初に確認して欲しいのが、batファイルをコマンドプロンプトから手動で実行して動きますか?

kouchan_s
質問者

補足

ご回答ありがとうございました。 batファイルをコマンドプロンプトから手動で実行は正常に動作します。

関連するQ&A

  • JavaAppletのボタンを押すことで、Fortranプログラムが実

    JavaAppletのボタンを押すことで、Fortranプログラムが実行できるようにプログラムを作っています。ですが、今エラーが出て困っています。誰か教えて頂けないでしょうか? 必ず、エラーでディレクトリが見つかりません。とでます。 cdのコマンドでプログラムがある所まで移動したいのですが,どう打てばいいのか分かりません。現在のプログラムは以下のとおりになっています。 OSはLinuxのFedora10です。開発環境としてEclipse使ってます。 try { String command = "./main < input.txt"; //外部プロセス ProcessBuilder pb = new ProcessBuilder(command); //ProcessBuilder構築 Process process = pb.start(); //プロセス実行 process.waitFor(); } catch (Exception e1) { e1.printStackTrace(); }

  • バッチ起動したいのですが…

    javaからバッチを起動したいのですが、以下の記述ではうまくいきません。動作として、具体的には、バッチからあるプログラムを起動し、for文によって、プロンプトがエンドレスに表示され続けるという動作をするはずなのですが、エラーは出ないのにうまくできません。ただし、バッチから起動するプログラムのファイルを、同じjavaのワーキングディレクトリに入れるとうまく動作します。ただ、この方法だと、融通が利かないし、ディレクトリがごちゃごちゃしてしまうので、使えません。 自分の中では、パスの問題なのだろうかと思うのですが、どうすればうまくいくのでしょうか? try { Process p = Runtime.getRuntime().exec("C:\\10\\UI.bat"); } catch (IOException ex) { System.out.println("erorr"); ex.printStackTrace(); }

  • javaプログラミングにおけるバッチファイル起動

    JavaのプログラムからNetbeansを用いてバッチファイルを起動させることを考えています。 以下のようにプログラムを作成したところ、コマンドプロンプトの画面は表示されるのですが、バッチファイルの中身が起動されません。 どのようにしたらよろしいかお知恵を拝借願います。 public class Open_JTalk { private Process p; private void start() { try { //String command = "cmd.exe /c start"; String command = "cmd.exe /c start lib/open_jtalk/m001_106.bat"; p = Runtime.getRuntime().exec(command); } catch (Exception e) { } } public static void main(String args[]) { Open_JTalk jtalk = new Open_JTalk(); jtalk.start(); } } バッチファイルを動かすのみの処理で、 String command = "lib/open_jtalk/m001_106.bat"; とした場合は何も処理されずにプログラムが終了してしまいます。 また、バッチファイルはlib/open_jtalk/に配置済みです。 ディレクトリのbatファイルをクリックで動かした場合には正常に起動しています。 どうかよろしくお願いします。

    • ベストアンサー
    • Java
  • javaからバッチファイル実行

    お世話になります。 javaプログラムからバッチファイルを呼び出して実行するようにしたいのですが、上手くいきません。 サイトを参考に以下のように書いてみましたが、 バッチファイルの一行目のみ実行している?ようで、二行目以降の処理をしていないようです。 バッチファイル単体での実行は正常に動作しています。 お気づきの点がありましたら教えて頂けないでしょうか。 try { String[] cmd = {"バッチファイルのパス"}; Process p = Runtime.getRuntime().exec(cmd); while(true){ try{ p.exitValue(); }catch(IllegalThreadStateException e){ continue; } break; } } catch (IOException e) { e.printStackTrace(); }

    • ベストアンサー
    • Java
  • バッチファイルを1個だけしか起動しないようにしたい

    エクスプローラー上から バッチファイル(test.bat)を ダブルクリックしてバッチファイルを実行しています。 通常はコマンドプロンプトが1個だけ表示されて、 バッチファイルが実行して実行が終了すると コマンドプロンプトも閉じられます。 しかし、時々、 コマンドプロンプトが2個表示されることがあります。 つまり、ダブルクリックが、 1回ではなく2回実行されたと誤認識されて、 同じバッチファイル(test.bat)が 2つ起動してしまったと思われます。 当然、その後の処理はおかしくなります。 (バッチファイル(test.bat)の中に 何らかのコードを追加するなどして) 必ず1個だけしか起動しないようにすることは、 できないでしょうか。 (Windows10)

  • サービスプロセスからバッチファイルを起動すると、cmd.exeが増幅する。

    私が作成したサービスプログラム(コントロールパネル-管理ツール-サービスに表示されるプロセス)から、以下の記述のバッチファイル(test.batとします)をCreateProcess()にて起動したところ、test.bat内のap.exeは起動せず、cmd.exeのみが増幅していきます。(タスクマネージャにて確認)起動できる場合もあるのですが、何が原因なのでしょうか? test.batの内容 start /B "C:\Program Files\TEST" ap.exe

  • javaからexeの起動、値渡し(?)について。

    1. 短縮したソースで申し訳ないのですが、JavaからC++で作成したexeファイルの、 int secに、javaでexe起動時に任意の数値を渡したいのですが、 何か良い方法はありますでしょうか? 2. またJavaで、外部ファイルを起動した時に、例えばFirefox等の場合、 自身の設定や、お気に入りが全くない状態で起動するのは何故でしょうか? 回答いただければと思います。どうぞよろしくお願いいたします。 [java] ProcessBuilder pb=new ProcessBuilder("C:\\Users\\Super\\Desktop\\cplus.exe", "30"); try { Process p=pb.start(); int ret=p.waitFor(); System.out.println("process exited with value : " + ret); } catch (IOException ioe) { } catch (InterruptedException inte) { } [C++ win32api] #include <windows.h> int main() { int sec=0; HANDLE hTimer; BOOL ret=FALSE; DWORD err=0; //以下はタイマー作成 }

    • ベストアンサー
    • Java
  • javaからffmpegの利用

    ffmpegを呼び出してmp3変換を行いたいのですがずっと動いたまま終了せずに困っています。 import java.io.IOException; public class Cratemp3 { public static void main(String[] args) throws IOException, InterruptedException { ProcessBuilder processBuilder = new ProcessBuilder( "./ffmpeg", "-y" , "-i" , "sample.flv", "-acodec" , "copy" , "sample.mp3" ); Process process = processBuilder.start(); process.waitFor(); } } process.waitFor()を抜くと上手く動きますが process.waitFor()をいれると上手く動きません。 ffmpegで変換したmp3ファイルを使用して処理を続けたいのですがどうしたらいいのでしょうか? よろしくお願いします。

  • バッチファイルが認識されず起動しません

    バッチファイルをダブルクリックしても、「○○○. batは有効なWin32アプリケーションではありません」と表示されて、起動できません。 ■環境:WindowsXP 64Bit版 SP3 ■以下、確認したこと (1)非常にシンプルなTEST.BATを作成したが、同じエラーが表示され起動できませんでした。   このバッチファイルの内容は cmd/k dir c: (2)Windowsの拡張子に対する関連付けは、「Windowsバッチファイル」になっていました。 (3)環境変数のPATHEXTに.BATは登録されていました。 (4)自分以外のユーザーでログオンすると、バッチは正しく動作します (5)Dos窓にバッチファイルをドラッグ&ドロップすると、正しく動作します 何かWindowsの設定がおかしいのでしょうか? とても困っています、教えてください!

  • バッチファイルについて

    お聞きしたいのですが、 あるディレクトリーに test.bat test.php test.txt があり test.bat で test.php を起動して text.txt を一行一行処理しているのですが、 バッチファイルで、強制終了したとして(Ctrl + C) もう一度起動せずに Entertキー を押して test.txt の次の行から開始したいのですが可能ですか?? 詳しい方がいましたら教えてください。 宜しくお願いします。

専門家に質問してみよう