• 締切済み

サーバサイトのVBScriptを実行したい

開発環境はwindows7、Tomcat7、strusts、javaです。特別な事情で、javaからサーバサイト のVBScriptを実行したく、下記のようなソースで試しましたが、なかなかVBScriptが起動 できません。ちなみに、Web方式ではなく、普通のjavaなら起動できました。やはりWidowsの セキュリティの制限ですか、それともそもそもTomcatではこのような使い方ができないのでしょうか。 Runtime r = Runtime.getRuntime(); String[] cmdList = new String[3]; cmdList[0] = "cmd"; cmdList[1] = "/c"; cmdList[2] = "E:\\test.vbs"; r.exec(cmdList);

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

みんなの回答

  • utun01
  • ベストアンサー率40% (110/270)
回答No.1

この辺の関連ではないでしょうか。 http://www.atmarkit.co.jp/bbs/phpBB/viewtopic.php?forum=12&topic=23217 標準出力と標準エラーを吐けるようにしないとできないのだとか。 詳細はHPをご参照ください。

bigboy43
質問者

お礼

お礼が遅くて、失礼しました。アドバイスして頂いたHPを参照して、問題を取りあえず解決しました。ご教授、有難う御座いました。

関連するQ&A

  • execでdirコマンドを実行すると停止します

    質問です。 javaのプログラム内で command = "cmd /c dir *.java /a-d"; r = Runtime.getRuntime(); p = r.exec(command); p.waitFor(); p.destroy(); こう書くと問題なく進行するのですが command = "cmd /c dir *.java /a-d/s"; r = Runtime.getRuntime(); p = r.exec(command); p.waitFor(); p.destroy(); のように/sオプション(サブディレクトリ内も検索する)を付けると p.waitfor(); 部分で動作が停止します。 ファイルの探索に時間がかかっているとかではなく、完全に動作が停止しているようなのですが原因がわかりません どなたかよろしくお願いします。

    • ベストアンサー
    • Java
  • ネットワーク上の他のパソコン内のjarを実行したい。

    ネットワーク上の他のパソコン内のjarを実行したい。 実行して他のパソコンの中で動かしたいですが、反応がありませんでした。 他のパソコン側のセキュリティ設定や、jarファイルへの設定が必要なのでしょうか。 また、他の方法で同じことはできませんでしょうか。 ご存知の方がおられましたら教えてください。 よろしくお願いいたします。 以下は、試したソースです。 import java.io.IOException; public class exec { public static void main(String[] args) { // ネットワーク上のjarを実行したい。 try { //Runtime.getRuntime().exec("cmd /c start //myPC/log/test.jar");//反応なし //Runtime.getRuntime().exec("cmd /c start //myPC/log/test.txt");//反応なし Runtime.getRuntime().exec("cmd /c start C:/log/test.jar");//実行できる Runtime.getRuntime().exec("cmd /c start C:/log/test.txt");//実行できる } catch (IOException e) { e.printStackTrace(); } } }

    • ベストアンサー
    • Java
  • Javaプログラムでコマンド実行時のエラー

    Webアプリにて下記プラグラムを実行(Tomcat上で実行)したところ以下のような例外が でました。 cd /home/test/geniatagger-3.0.1 ディレクトリに移動するコマンドで失敗しているようですが Teraterm上で手入力で実行すると実行できます。 何が原因かわかりますでしょうか。 【例外】 java.io.IOException: Cannot run program "cd /home/test/geniatagger-3.0.1": java.io.IOException: error=2, No such file or directory at java.lang.ProcessBuilder.start(ProcessBuilder.java:475) at java.lang.Runtime.exec(Runtime.java:610) at java.lang.Runtime.exec(Runtime.java:483) 【実行したプログラム】 String[] command = {"cd /home/test/geniatagger-3.0.1", "./geniatagger", "I had a pen."}; Process process = Runtime.getRuntime().exec(command); //exec()が非同期実行であるため実行結果が返ってくるまで待つ int no = process.waitFor(); BufferedReader in = new BufferedReader(new InputStreamReader(process.getInputStream())); String str = ""; while (in.ready()) { str = in.readLine(); System.out.println("segmentate=" + str); } in.close();

    • ベストアンサー
    • Java
  • JAVAで外部ファイルの実行

    JAVAで外部ファイルを実行したいのですが、 myjbutton.addActionListener(new ActionListener(){ public void actionPerformed(ActionEvent ae){ Runtime myruntime=Runtime.getRuntime(); try{Process myprocess=myruntime.exec("cmd.exe");}catch(IOException e){}; }}); ボタンを押して、実行させたいのですが、これが 全く起動しません。notepad.exeなども試しました が無理でした。 アドバイスがあれば、教えてください。お願いします。

    • ベストアンサー
    • Java
  • Runtime.exec()について

    Runtime.exec()について質問させて下さい。 現在、Windowsのサーブレット上のファイル操作で ファイルの属性ごと(読み取り専用)コピーしたいので Runtime.exec()からxcopyコマンドを呼び出してコピーしています。 (JavaのAPIでは属性ごとコピー、属性変更ができない!?ため) エディタはeclipse3.5を使用しております。 eclipse上のTomcat6.0では綺麗にコピーしてくれるのですが、 Tomcat6.0のみでの実行ではコピーできません(0個のファイルをコピー) eclipse3.5上のTomcat設定とTomcat自体のJVM設定でのJREパスは同じJRE を参照しています。常にEclipseを起動させた状態!!ってのは厳しいので なんとかTomcatのみでコピーを成功させたいので助言お願いいたします。 下記ソースで 4個の読み取り属性を強制上書きコピーしますと、表示は Eclipse3.5上では → 「4個のファイルコピーに成功」表示 Tomcat6上では   → 「0個のファイルコピーに成功」表示 となります。。。 【以下ソース】 CopyFrom = "コピー元パス"; CopyTo  = "コピー先パス"; try{  String[] cmd = new String[]{"cmd","/c","xcopy",CopyFrom+"*.*",CopyTo,"/y","/r","/k","/h"};  Runtime Run = Runtime.getRuntime();  Process process = Run.exec(cmd);  //実行結果取得  InputStream is = process.getInputStream();  BufferedReader br = new BufferedReader(new InputStreamReader(is));  String Line = null;  while((Line = br.readLine()) != null){   System.out.println(Line);  } }catch(IOException e){  System.out.println(e); } 【環境】 ・Windows Server2003 ・Java1.6.0_13(パスは通しています) ・Tomcat6.0.14

    • ベストアンサー
    • Java
  • シェルが実行されません

    WWWユーザから、 Process process = Runtime.getRuntime().exec("java -classpath /xx/xx/xx /export/home/test/B001"); は動くのですが、 Process process = Runtime.getRuntime().exec("java /export/home/test/B001.sh"); のようにシェルを呼び出しても動作しません。 また、hulftのジョブ起動からもシェルが動かないのですが、原因は何が考えられますでしょうか? シェルのパーミッションは755なのですが・・

  • JAVAとGnuplot

    javaからGnuplotを起動させ、グラフのプロットを行いたいのですがうまくいきません。 ソースは String gnuplot_cmd = "plot sin(x)" ; try { p = Runtime.getRuntime().exec("C:~省略~\\wgnuplot.exe"); } catch (IOException e) { e.printStackTrace(); } pw = new PrintWriter(new BufferedWriter(new OutputStreamWriter(p.getOutputStream()))); pw.print(gnuplot_cmd); pw.close(); です。 起動はするのですが、プロットの命令がうまく伝わりません。 よろしくお願いします。

    • ベストアンサー
    • Java
  • javaアプリケーションからコマンド実行結果の取得

    javaアプリケーションからcatコマンドを実行し、その結果を取得したいのですが、うまくいきません。runtime.exec()実行中にエラーとなります。 String cmd = "cat error.log; echo $status"; Runtime runtime = Runtime.getRuntime; Process process = runtime.exec(cmd); rshを使うとOKです。 "rsh localhost cat error.log; echo $status" shを使うとNGです。 "sh -c cat error.log; echo $status" "sh -c \"cat error.log\"; echo $status" ターミナルからは上記で内容取得、および、結果取得はできるのですが。 環境は、UNIX JDK1.2.1です。 よろしくお願いします。

  • tomcatでのPDF出力について

    現在、tomcat 7.0+struts 2.2.3 + java 1.6 にてPDFの印刷を行うプログラムを作成しています。 AcrobatReaderをコマンドラインで呼び出して印刷したかったのですが、 eclipse上では正常に動作するのですが、いざtomcatにwarでアップロードし、実行すると エラーもはかれず処理が終了してしまいます。 下記が、処理されなかった部分です。 String cmd = "cmd /c START AcroRd32.exe /t " + "ファイル名"; System.out.println(cmd); ←ここの出力結果を「cmd /c 」を除いてコマンドプロンプトでたたくと正常に印刷されます。 Process p1 = Runtime.getRuntime().exec(cmd); p1.waitFor(); 原因がわかる方いらっしゃいましたらご教授お願い致します。

    • ベストアンサー
    • Java
  • javaでhtmlファイルを開く方法

    通常は、下記のような記述をすれば、html.htmlファイルを開けると思うのですが開けせん。どうすれば、開くことができますか? また、ディスクトップで実行しているのですが、Javaファイルと同じディレクトリ(デスクトップ)にあるhtml.htmlファイルを開くことはできないのしょうか? 相対パスで記述するとエラーになります。 初歩的な質問かもしれませんが、ご教示、宜しくお願い致します。 String[] cmd = {"C:\\html.html"}; Runtime rt = Runtime.getRuntime(); Process pr = rt.exec(cmd);

    • ベストアンサー
    • Java

専門家に質問してみよう