プロが教える店舗&オフィスのセキュリティ対策術

start hogehge.ext とかやると、拡張子 ext に関連づけられたアプリケーションで hogehoge.ext を開くことができます。

ここでさらに、start コマンドを用いて、拡張子 ext に関連づけられたコンテキストメニューの中の特定のアクションを選択して起動することは可能でしょうか?

具体的には、inno setup のスクリプトを、Makefile から start コマンド一発でコンパイルしたい、というのが動機です。

よろしくお願いします。

A 回答 (2件)

軽く調べた範囲では…無理そうでしたね。



startコマンドで実行できるのは「関連付けされた拡張子の規定のアクション」までのようで。

>具体的には、inno setup のスクリプトを、Makefile から start コマンド一発でコンパイルしたい、というのが動機です。

とすると、レジストリの
HKEY_CLASSES_ROOT\InnoSetupScriptFile\shell\Compile\command
に記述されているコマンドを実行する必要があります。
が、startコマンドでアクションとして「Compile」を指定する方法がありません。
# コンテキストメニューだと「Compile」になっている。

拡張子.issの規定のアクションを「Compile」に変更すれば、startコマンドでコンパイル可能でしょう。
ただし、そういう変更を行った場合は、当然エクスプローラでダブルクリック(選択してEnterなど)の挙動もそちらに変更されます。
つまり…環境依存になります。
# Inno Setup Compilerが起動して編集画面になる環境と、コンパイルが実行される環境でmakeの結果が異なることになります。


私は、Inno Setupが標準の場所にインストールされている。
という前提の元、環境変数にインストール先を設定するようにして…
 start /b /wait /min "" "%inno5dir%\Compil32.exe" /cc ほにゃらら.iss
みたいにして対処しています。
# 64Bit環境の場合も考慮して、実行前に環境変数inno5dirをいぢるようにしています。
    • good
    • 0
この回答へのお礼

ありがとうございます

コンパイル専用の実行ファイルがあったとは・・・調べ方が甘かったです。
大変参考になりました。

お礼日時:2014/04/25 22:35

http://support.microsoft.com/kb/126410/ja
h ttp://nofx2.txt-nifty.com/it/2011/03/start-a299.html

上記を参考にすればできる…のかもしれません。
    • good
    • 0

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