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

test.batの内容
start /B "C:\Program Files\TEST" ap.exe

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

こんな説明ではいかがでしょうか?
    • good
    • 0

すみません。

勘違いしてました。

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

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

この回答への補足

私の文章が少し悪かったみたいですね。
以下に補足します。
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
    • good
    • 0

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

    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人が検索しているワード

このQ&Aと関連する良く見られている質問

QコマンドプロンプトはC:\WINDOWS\system32\cmd.exe ?

いつもアクセサリ⇒コマンドプロンプトで起動していたのですが、ふとコマンドプロンプトってなんだろう、と思ったのですが、C:\WINDOWS\system32\cmd.exeを起動しているということなのでしょうか?

そして、このプログラムのなかに、例えばipconfigのような機能(?)が用意されている、ということなのでしょうか?

よろしくお願いします。

Aベストアンサー

もう少し詳しく言うと、cmd.exeはユーザとOSの間の仲介を行う、"shell (シェル)"と呼ばれる種類のプログラムになります。
コマンドプロンプトでは、ユーザはコマンドラインでプログラムを指定して実行します。なので、コマンドプロンプトから"notepad.exe"と入力すると、メモ帳が立ち上がります。

"ipconfig.exe"はコマンドプロンプト上で実行することを前提としたプログラムの1つです。

もっと詳しく知りたい場合は、OS(カーネル)とshellの関係について調べてみてください。

QC:\WINDOWS\system32\ntoskrnl.exe が存在しないか壊れている

下記のエラーが表示され Windows が立ち上がりません。

"C:\WINDOWS\system32\ntoskrnl.exeが存在しないか壊れているためWindowsが起動できません。上記のファイルをインストールしてください。"

Windows 2000/XP の緊急修復ディスク (ERD) を作成し、起動試みましたが結果変わりません。

レスキュー方法を教えて下さい。

OS : Windows 2000
Model : FMV 7000FL

[追記]
色々調べているうちに、「これは実際に ntoskrnl.exe や hal.dll が破損している場合よりも、boot.ini の記述が実際の情報と食い違っている場合に発生する」というものを見つけました。
この場合の対処として「boot.ini ファイルの記述を見直してください」とありますがどういうことなのでしょうか?
<http://homepage2.nifty.com/winfaq/w2k/boot.html#1208>

Aベストアンサー

Win2000インストールCDはお持ちですか?

お持ちなら別のPCでBOOT.INIを作りフロッピーなどに保存しておき、
Win2000のCDから起動して回復コンソールのCOPYコマンドでBOOT.INIを上書きさせます、

BOOT.INIの記述は、
オンボードIDEのプライマリマスタの第一パーティションが起動させたいパーティションであれば、

[boot loader]
timeout=30
default=multi(0)disk(0)rdisk(0)partition(1)\WINNT
[operating systems]
multi(0)disk(0)rdisk(0)partition(1)\WINNT="Microsoft Windows 2000 Professional" /fastdetect

となります、

http://nobumasa-web.hp.infoseek.co.jp/multi_boot/windows.html#kaifuku

HDDを取り出して他のPCに接続できるなら、
BOOT.INIを直接編集でも可能。

Win2000インストールCDはお持ちですか?

お持ちなら別のPCでBOOT.INIを作りフロッピーなどに保存しておき、
Win2000のCDから起動して回復コンソールのCOPYコマンドでBOOT.INIを上書きさせます、

BOOT.INIの記述は、
オンボードIDEのプライマリマスタの第一パーティションが起動させたいパーティションであれば、

[boot loader]
timeout=30
default=multi(0)disk(0)rdisk(0)partition(1)\WINNT
[operating systems]
multi(0)disk(0)rdisk(0)partition(1)\WINNT="Microsoft Windows 2000 Professiona...続きを読む

Q\system32\ntoskrnl.exe

PCに詳しくないものです 下記のように操作ミスでどうにもならず困っています 助けてください
IBM PC Vistaで起動時(1) windows2000から起動又は(2)windowsから起動のところ誤って(2)を押し
 次のファイルが存在しないか壊れているためwindows2000を起動できませんでした
 <windows2000root>\system32\ntoskrnl.exe
   上記ファイルをインストールし直してください  と出てリカバリーデスクを入れ電源を入れても全く動かず いろいろ調べたのですが分からず困っていますどなたかご教授ください 宜しくお願いいたします。

Aベストアンサー

質問時の
Vistaで起動・・
(1)Windows2000から・・・
(2)Windowsから起動・・・
のことはインストールOSは2000との訂正があったので、Windows2000として考えたみました。

2000のSPなしは、CDから直接インストールできないようなことの書いてあるのを見たような気がする。
そうなら、質問者さんのFDから起動が正しいように思いますが、何も起こらないなら起動FDが壊れているかFDDドライブの故障も考えられます。←これらについてはこれ以上の情報が無いため補足できることを持ち合わせていません。

別途対策法ですが、他にWindows2000のパソコンがあれば、そこから”ntoskrnl.exe”のファイルをコピーして(1.8Kbぐらいだった記憶)問題のパソコンのHDDにコピーするだけ。
ただし今回の不具合はパソコンが起動できないわけだから、そのHDDを外してUSB外付けアダプターに取り付け、正常な他のパソコンに接続して、そのパソコン(正常なパソコン)から同名ファイルを不具合のHDDにコピーして、不具合だったHDDを元に戻して起動してみてください。
本当に壊れたファイルがこれだけなら、起動できるはずです。

しかし、こんなファイルが壊れているということは、次にまた何かのファイルが壊れていると告げられるのを覚悟しておいてください。

もしこのようになれば、再インストール(または購入時の状態にもどす)するのが根本的解決策といえます。
もし不具合のパソコンがセーフモードででも起動できるなら”C”にチェックディスク掛けてみるのも試してみる価値ありです。

また両機でFDが使えるなら正常な”ntoskrnl.exe”ファイルをFDを使ってコピーする方法も可能す。
どちらにしても”ntoskrnl.exe”ファイルを不具合の方のHDDにコピーするときに間違いなく同じディレクトリーにコピーすることです。やり方に間違いなければ「同名ファイルがすでに存在します。(これを)置き換えますか ”Y/N”」の警告が出るはずですので、もちろん”Y”を押してください。


(ややこしい文章になりましたが適宜解釈してください。)

質問時の
Vistaで起動・・
(1)Windows2000から・・・
(2)Windowsから起動・・・
のことはインストールOSは2000との訂正があったので、Windows2000として考えたみました。

2000のSPなしは、CDから直接インストールできないようなことの書いてあるのを見たような気がする。
そうなら、質問者さんのFDから起動が正しいように思いますが、何も起こらないなら起動FDが壊れているかFDDドライブの故障も考えられます。←これらについてはこれ以上の情報が無いため補足できることを持ち合わせていません。

別途対策法です...続きを読む

QC:\WINDOWS\Cookies\index.dat

C:\WINDOWS\Cookiesフォルダーにあるindex.datと言うファイルがクッキーの数が増えていくたびに大きくなっているのですが、
クッキーは削除できるのですが、このファイルだけ削除しようとしても削除できないのです、
とりあえずメモ帳で開こうとしても共有違反で開けないと出てしまいます、

これは何をするファイルなんでしょう?

Aベストアンサー

私も同様の症状で悩みました。index.datが消せない上に、
サイズが大きくなっていくのです。
エディタで強引に開いたところ、やはりcookie関連の情報と
思われるデータでした。

マイクロソフトのサポートセンターに電話して、
担当者と相談した結果、以下の方法で暫定的に
解決いたしました。

1.DOSモードでPCを起動
2.DOSコマンドを使用して、該当ファイルを削除
   cdコマンドで該当ディレクトリに降りる
   delコマンドでindex.datを削除

WinMeを使用している場合は、起動ディスクから
PCを起動して、DOSモードに入る必要があります。
しかし、umechinさんが述べているように、
次にWebにアクセスすると、このファイルはまた作成されます。

私は、定期的に上の方法でindex.datを消しています。
index.datの内容を盗み見るタイプのワームがありますので、
なるべく頻繁に消去しておいた方がよいと思われます。

QC:\_RESTORE\TEM..ってどこ?

タイトルの通りです(>_<)
ここにウイルスがいるらしいのですが、C:\にこんなフォルダはところはありませんでした…。。
いったいどこなんでしょうか(?_?)

Aベストアンサー

システムの復元のフォルダに残っているため削除できない状態です。
一時的に、システムの復元機能を無効にすればいいです。

_RESTORE フォルダにウイルスが発見された場合の対応方法について

参考URLをご確認ください。

参考URL:http://support.microsoft.com/default.aspx?kbid=263455


人気Q&Aランキング

おすすめ情報