OKWAVEのAI「あい」が美容・健康の悩みに最適な回答をご提案!
-PR-
解決
済み

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

  • 困ってます
  • 質問No.148919
  • 閲覧数1540
  • ありがとう数1
  • 気になる数0
  • 回答数3
  • コメント数0

お礼率 0% (0/5)

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

test.batの内容
start /B "C:\Program Files\TEST" ap.exe
通報する
  • 回答数3
  • 気になる
    質問をブックマークします。
    マイページでまとめて確認できます。

質問者が選んだベストアンサー

  • 回答No.3
レベル14

ベストアンサー率 33% (1403/4213)

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"なら動きますよね。

こんな説明ではいかがでしょうか?
-PR-
-PR-

その他の回答 (全2件)

  • 回答No.1
レベル14

ベストアンサー率 33% (1403/4213)

start /B "C:\Program Files\TEST ap.exe"ではないでしょうか?
start /B "C:\Program Files\TEST ap.exe"ではないでしょうか?


  • 回答No.2
レベル14

ベストアンサー率 33% (1403/4213)

すみません。勘違いしてました。 start /B C:\Progra~1\TEST.bat ap.exe ではないでしょうか? パス名に空白を含むからダブルコーテーションで囲む必要がある。 ...続きを読む
すみません。勘違いしてました。

start /B C:\Progra~1\TEST.bat ap.exe ではないでしょうか?

パス名に空白を含むからダブルコーテーションで囲む必要がある。
補足コメント
Nabeo

お礼率 0% (0/5)

私の文章が少し悪かったみたいですね。
以下に補足します。
test.bat・・・C:\配下にあります。
ap.exe ・・・C:\Program Files\TEST配下にあります。

test.batを以下のように記述し、サービスプロセスから起動すると、前述のように
cmd.exeが増幅していきます。
start /B "C:\Program Files\TEST" ap.exe
しかし、以下のように記述を変えると何も問題なく起動できます。
start /B "C:\Program Files\TEST\ap.exe"
上の記述のようにした場合に、なぜcmd.exeが増幅するのかを知りたいです。
何卒、よろしくお願いします。
投稿日時 - 2001-10-10 18:55:42
このQ&Aのテーマ
このQ&Aで解決しましたか?
関連するQ&A
-PR-
-PR-
あなたが体験したトラブルや解決方法を共有しませんか?
このQ&Aにはまだコメントがありません。
あなたの思ったこと、知っていることをここにコメントしてみましょう。

その他の関連するQ&A、テーマをキーワードで探す

キーワードでQ&A、テーマを検索する
-PR-
-PR-
-PR-

特集


いま みんなが気になるQ&A

関連するQ&A

-PR-

ピックアップ

-PR-
ページ先頭へ