2011年4月21日木曜日

◆Excelの実行パスを取得する(Get-ItemProperty)

「ファイル名を指定して実行」にてExcelと打つとExcelが起動する。
同様にNotepadと打つとメモ帳が起動する。

コマンドプロンプトからNotepadと打つとメモ帳が起動する。
同様にExcelと打つとExcelが起動!しない。

というのは以前から知っていたのだが必要に迫られなかったので特に理由は調べていなかった。
「ファイル名を指定して実行」はPath環境変数以外にも何かを参照しているのだろう、そして何かと言えばレジストリだろうとは思っていたが。

今回、必要に迫られてレジストリキーを調べてみた。
以下のキーに値(名前)Pathの値データとして持っているようだ。
"HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\App Paths\excel.exe"

なのでそいつをGet-ItemPropertyで取ってくれば良い。

$xlsPath = "HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\App Paths\excel.exe"

Get-ItemProperty $xlsPath -Name Path | select path

(Get-ItemProperty $xlsPath -Name Path).Path

Pathパラメータを指定すると値が文字列で取れるのかと思ったが、返ってくるのはPsObjectなので結果のPathプロパティを参照する必要がある。

0 件のコメント:

コメントを投稿