• ベストアンサー

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

bin-chanの回答

  • ベストアンサー
  • bin-chan
  • ベストアンサー率33% (1403/4213)
回答No.3

start /B "C:\Program Files\TEST" ap.exeでは 「何がしかの指令」と解釈したCMD.EXE(コマンドプロセッサ)が 起動されますが、AP.EXEの部分をパラメータとしているから、でしょう。 AP.EXE をNotepad.EXE と置き換えて考えると良いと思います。 コマンドプロンプト上で[cmd notepad][Enter]としてもNotepadは起動しません。 AP.EXE をNotepad.EXE と置き換え、Sample.txtを引き渡す、ということを例にすると start /B "C:\Windwos\Notepad sample.txt"なら動きますよね。 こんな説明ではいかがでしょうか?

関連するQ&A

  • 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
  • DOSのバッチファイルでAPを起動する方法について

    あるAPを自動起動させたいのですが、普通にスタートアップにそのAPのショートカットを設定すると 「ほかのプログラムがビジー状態のため、この作業を完了できません。[切り替え]を選んでビジー状態のプログラムに移り、問題を解消してください。」 と出てきて、まともに起動できませんでした。そこで、sleepを入れてAPの立上げ時間を遅らせようと思い、バッチファルをつくったのですが... ---------------------- sleep x cd c:\program files\xxx\xxx.exe exit ---------------------- これだと、確かにAPは起動しますが、このAPが終了するまでこのバッチは生きていますよね? APを起動したら、そのAPを終了させなくてもバッチを終了させるには どうしたらよいのでしょうか? 方法をおしえてください。

  • バッチファイルの起動

    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"; }

  • VC++ で.bat起動

    また、こちらを使わせていただきます。 VC++で.batファイルを起動しようとしていますが、cmdはあくのですが、.batが起動しません。他の参考にしてますが、なかなかたどり着きません。どなたか、アドバイスお願いいたします。 .bat fileは次のとおりです。 cd\Program Files\Wireshark> tshark -i.2 greater 170 -a duration:2 -w.... tshark -v-r e:\Test\test5.pcap.... VC++は次のとおり void CStartupapplicationView::OnBnClickedButtontest() { //cmdは、ShellExecuteでも、CreateProcessでも開けられますが、 //bat fileの起動がうまくいきません。 HINSTANCE ret = ShellExecute(m_hWnd,"open","cmd.exe",NULL,"c:\\Program Files\\Wireshark",SW_SHOWNORMAL); ShellExecute(m_hWnd,"open","c:Program Files\\Wireshark\\test.bat",SW_SHOW); //.batファイルは、c:Program Files\Wiresharkの下に入っています。//が、.Batは起動しません。 if (ret <= (HINSTANCE)32) AfxMessageBox("can not Shell.",MB_OK); //別の方法 STARTUPINFO sinfo; PROCESS_INFORMATION pinfo; ZeroMemory(&sinfo,sizeof(STARTUPINFO)); ZeroMemory(&pinfo,sizeof(PROCESS_INFORMATION)); sinfo.cb=sizeof (STARTUPINFO); sinfo.dwFlags=STARTF_USESHOWWINDOW; sinfo.wShowWindow=SW_SHOWNORMAL; if(!CreateProcess(NULL,_T("cmd.exe c:\\test2.bat "), // test2.batは、Document and settings/----------- //Startup applicationの下にはいっていますが、起動しません。 NULL, NULL, FALSE, 0, NULL, NULL, &sinfo, &pinfo)); {//起動失敗 } //

  • cmd.exeについて

    プログラムの変更と削除を見ていたらAdobe Download Managerが入っていたので削除しようと思ったのですが、プログラムの変更と削除だけフリーズしてしまいました。 たぶんFirefoxとIEを併用してるのでIEのアドベフラッシュプレイヤーを入れる際にインストールしてしまったんだと思います。 タスクマネージャで原因はプロセスで動いていたcmd.exeユーザー名だとつきとめたのですが、なかなか終わらなかったのでプロセス終了してしまったのですがPCに支障が出たりしますか? 色々調べるとスパイウェアやウイルスなどと言った意見が出ていたのでどうなのかイマイチ分からないです。 プログラムの変更と削除からdobe Download Managerの項目は消えていました。 OSはWindows XP Professional Service Pack 2だった筈です。

  • cmd から起動出来るけど バッチファイルから出来ない時

    オンラインからコマンドのプログラムをダウンロードして 環境変数の設定などしたのですが、cmd から起動できるのですが バッチファイルから出来ないのは どうしてかご存知でしょうか? 具体的には ImageMagick の montage が バッチファイルから起動できないです。

  • バッチファイルを実行するとエラーが出る

    win2000を利用しています。起動時に自動的にアプリケーションを実行させるバッチファイルを作りたいのですがエラーがでます。 以下のように書いています。このバッチファイルをスタートアップに入れて実行させたいと思っています。 そして試しに手動で実行してみると、構成ファイルが見つからない、パス名を確認してくださいと言ったいエラーが出ます。 パスが間違っているのかと思い、 「C:\Program Files\Internet Explorer\IEXPLORE.EXE」だけをファイル名を指定して実行をするとちゃんとIEが起動します。 何が間違っているのかわからないのですが、ヒントだけでもお願いします。 test.bat(ファイル名) --------------------------- start C:\Program Files\Internet Explorer\IEXPLORE.EXE ---------------------------

  • WindowsNT,Windows2000のバッチファイル

    おしえてください。 WindowsNT,Windows2000で作成するバッチファイルの拡張子は 「.bat」、「.cmd」のどちらがベターですか? WindowsNT,Windows2000でバッチファイルを作成して 実行したいのですが、そのバッチファイルの拡張子として (1)「.bat」、(2)「.cmd」の2種類で実行可能と認識しています。 私は (1)「.bat」は「command.com」、(2)「.cmd」は「cmd.exe」より動作すると 思っています。 よって(1)「.bat」だと16ビットで動作するため、何たかの不具合がでないのかなと懸念しています。 (1)「.bat」、(2)「.cmd」どちらでもいいのなら現在つくっている (1)「.bat」でいきたいのですが・・・。 どうかご回答お願いします。

  • ccleaner バッチファイル

    win7 x64, 下記bat fileを実行すると、ccleaner が起動します。 ----A ところが、次のwisecare365.exe も起動します。 -----B つまり、2つ起動します。x64 PC共通です。 win7 x86 や xp では、A 終了後、Bが起動します。 問い合わせ内容: 2つ起動しない様にする方法を教えてください。 ccleanerが終了後、wisecare365が起動する様にしたい。 test.bat "D:\Program Files\CCleaner\CCleaner.exe" "D:\Program Files\Wise\Wise Care 365\WiseCare365.exe"

  • バッチファイルを1個だけしか起動しないようにしたい

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