• ベストアンサー

CD-ROM内でバッチファイルでexeを起動させたいのですが

 いつもお世話になります。 カテゴリ違いだったらすみません。 音楽、映像ファイル、CODECを一枚のCD-ROMにいれて数人に渡したいのですが CODECを一度に全部インストールしたいので、バッチファイルで指示してhtmlファイルからリンクで開くようにしてます。  CD-ROMに焼いてしまうとバッチファイルにパスエラーが出てうまくいきません。 わかりにくい文章で大変申し訳ありません。  補足いたしますのでよろしくお願いします。

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

  • ベストアンサー
  • BLUEPIXY
  • ベストアンサー率50% (3003/5914)
回答No.5

実際にこちらでも試してみて原因がわかりました。 バッチファイルを起動する時に、カレントディレクトリが、ディスクトップになってしまうために、テスト環境では実行できてCD上からは実行できない(パスが見つからない)になるのだと思います。 これを免れる方法としては、バッチの中からでは、CDのドライブを見つけることができないと思うので、VBScriptを使ってみたらどうかと思います。 こちらでテストしてみた所うまく起動できました。 サンプル <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"> <html> <head> <meta HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=SHIFT_JIS"> <title>CDからのプログラム起動</title> <script language="VBScript"> <!-- sub execute() Dim WShell,fso,Drives,Drive Set WShell = CreateObject("WScript.Shell") Set fso = CreateObject("Scripting.FileSystemObject") Set Drives = fso.Drives For each x in Drives Set Drive = fso.GetDrive(x) if Drive.IsReady then if Drive.DriveType = 4 then 'CD-ROM ドライブ WShell.Run x & "\test\CD.exe" exit FOR end if end if next end sub '--> </script> </head> <body> <span style="text-decoration:underline;color:red;" onclick="execute()">プログラム起動</span> </body> </html> 念のためにフォルダの中に有る場合で試してみました。CDドライブが複数ある場合は、最初に見つかったドライブ以外は実行しようとしませんけど、これは、まあ、いいかと思います。

その他の回答 (4)

回答No.4

えと、状況がよく分かりませんので補足説明お願いします。 CD-ROMの中味は ・インストーラ(*.exe 複数ある?) ・バッチファイル(*.bat) ・HTMLファイル があるということでしょうか? 仮に上記のような状態だとして、エラーが出るとの事ですが、HTMLでバッチファイルを呼び出す所でのエラーなのか、バッチファイルがexeファイルを呼び出す時のエラーなのでしょうか? 文章だけ見ますと、バッチファイルの記述はOKだがHTMLファイル側の記述がNGなのかな?という印象を受けました。 それともHTMLファイル内にバッチ記述をしてあるのでしょうか? 余談ですが、STARTコマンドを使う必要性が良く分からないのですが、直接実行可能ファイル(バッチ又はインストーラ)を記述してみてはいかがでしょう?

  • kkcozy
  • ベストアンサー率75% (3/4)
回答No.3

前に似たような事を無理矢理やった事があるのですが、BATコマンドで一回システムディレクトリに戻って、 そこからCDの実行ファイルまでパスをつければ出来ないでしょうか? 下の補足通りにしたとすると、そのときにBATファイルの記述を、 CD \.. D:\klcodec234f.exe /verysilent で、大丈夫だと思うのですが。 もっと、ちゃんとしたやり方あるとは思うのですが、自分はこの程度しか分かりません。

noname#32068
質問者

補足

 回答ありがとうございます。 >CD \.. >D:\klcodec234f.exe /verysilent これだと、D:がCDドライブということになりませんか?  複数の人に渡すので全員がD:にCDドライブ(DVD)があるとは限らないので  間違いだったらすみません。

  • BLUEPIXY
  • ベストアンサー率50% (3003/5914)
回答No.2

klcodec234f.exe のファイル名が長すぎるとか?

noname#32068
質問者

補足

短く変更しても同じでした。

  • BLUEPIXY
  • ベストアンサー率50% (3003/5914)
回答No.1

CD-ROMの中のフォルダやファイルの構成と、バッチファイルの内容はどんな感じでしょうか?

noname#32068
質問者

補足

htmlファイルにリンクで直接batファイルを指示しています。 内容は START klcodec234f.exe /verysilent EXIT で  klcodec234f.exe はフォルダのトップに入れてます。 CODECを全てインストールしたいのですがディスクトップにフォルダを作ってHTMLを開いてクリックすると起動するのですがCD-ROMに焼くとパスエラーが表示されます。

関連するQ&A

専門家に質問してみよう