cmd
を実行していて、たとえばstart document.pdf
と入力してアプリケーションを開いたとします。
.pdf
ファイルを開く実行可能ファイルの正確なパスを取得したい
もちろん、システム全体で実行可能ファイルを検索することもできますが、パスがすでにどこかに保存されているため、この方法の方が高速だと思います。
違いがあるかどうかはわかりませんが、Windows7を使用しています
悲しいことに、exeファイルの場所は通常、たとえばレジストリで定義されています。 「notepad ++」で開くように定義された.txtがあります。
したがって、ファイルの関連付けが何であるかを見つけるには、次の場所に移動する必要があります。
"Open Control Panel > Control Panel Home > Default Programs > Set Associations".
そこから、Notepad ++が私のデフォルトプログラムであることがわかります。
次に、Notepad ++のレジストリに移動する必要があります。例:
"HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Notepad++"
そして、次のような完全なファイルの場所を確認してください。
C:\Program Files\Notepad++
編集:
通常、インストールするすべてのプログラムには、構成可能なレジストリが関連付けられています。ほとんどのプログラムの詳細は次の場所にあります。
"HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node" (64 bit)
"HKEY_LOCAL_MACHINE\SOFTWARE\" (32 bit)
したがって、これらの場所にregedit.exeを使用して、プログラムを見つけ、exeの場所を表示する必要があります。
この情報は、assoc
とftype
の2つのコマンドラインツールを使用して取得できます。
連想を助ける
ファイル拡張子の関連付けを表示または変更しますftypeを助ける
ファイル拡張子の関連付けで使用されるファイルタイプを表示または変更します
それらを組み合わせて、必要な情報を生成できます。for /f "delims== tokens=2" %a in ('assoc .pdf') do @ftype %a
これをコマンドラインから直接実行すると、.pdf
ファイルに登録されているプログラムのパスとパラメーターが得られます。