前回、PowerShellからのアプリケーション起動を簡単にする方法として「エイリアス」を取り上げた。例えば、次の設定を「$PROFILE」に書き込んでおけば、「edge」でMicrosoft Edgeを起動することが、「chrome」でGoogle Chromeを起動することができる。いちいちパスを入力する必要がなく便利だ。
Set-Alias -Name edge -Value "C:\Program Files (x86)\Microsoft\Edge\Application\msedge.exe"
Set-Alias -Name chrome -Value "C:\Program Files (x86)\Google\Chrome\Application\chrome.exe"
この設定を行うには、動作しているアプリケーションの本体となるファイルを知っている必要がある。いくつかのアプリケーションはローンチャーを使わないと起動することができないのだが、それ以外のアプリケーションは大体単体のバイナリファイルが本体となっており、上記の方法で起動することができる。今回はこうしたアプリケーションの本体を調べる方法を紹介する。
タスクマネージャでアプリケーションの本体を調べる
アプリケーションの本体を調べるには、起動したいアプリケーションを実行しておき、その状態でタスクマネージャを使えばよい。例えば、まず次のようにMicrosoft Edgeを起動する。
タスクマネージャを起動し、Microsoft Edgeを表示させる。Microsoft Edgeは複数のプロセスが動作しており、次のスクリーンショットのように展開して個別のプロセスを表示させることができる。
Microsoft Edgeのプロセスでメニューを表示させ、メニューから「プロパティ」を選択する。
すると次のようにアプリケーションの本体を知ることができる。
上記ダイアログからは、次の情報を読み取ることができる。
項目 | 内容 |
---|---|
場所 | C:\Program Files (x86)\Microsoft\Edge\Application |
名前 | msedge |
拡張子 | .exe |
上記情報を組み合わせると「C:\Program Files (x86)\Microsoft\Edge\Application\msedge.exe」が本体であることがわかる。なお、プロパティのセキュリティタブを選択すると、もっと直接的にパスを知ることができる。
「C:\Program Files (x86)\Microsoft\Edge\Application\msedge.exe」はパスが長いのでダイアログに収まっていないが、上記2つのスクリーンショットのように横スクロールさせれば、全体を知ることができる。
ほかのアプリケーションも同じように調べることができるし、タスクマネージャ自体も同じようにタスクマネージャで調べることが可能だ。タスクマネージャは単体のプロセスとして動作しており、個別プロセスのほうではなく、大本のプロセスを選択してプロパティを表示させる。
タスクマネージャの本体は「C:\Windows\System32\Taskmgr.exe」であることがわかる。エクスプローラも同じように調べることができる。
エクスプローラの本体は「C:\Windows\explorer.exe」だ。
タスクマネージャで調べられないものもある
この方法で全て解決するかと言えば、そんなことはなかったりする。例えば、コントロールパネルを実行している次のスクリーンショットをご覧いただきたい。
コントロールパネルを実行している状態でタスクマネージャを使用すると、次のようにアプリケーションとして「コントロールパネル」は表示されない。表示されるのは「エクスプローラ」だ。
同じようにプロパティを調べても、コントロールパネルの本体は「C:\Windows\explorer.exe」であり、エクスプローラであることがわかる。
つまり、こういった種類のアプリケーションはタスクマネージャでは起動方法を調べることができないため、個別に起動方法を調べるしかない。面倒だが、こればかりは仕方ないところだ。
なお、コントロールパネルは「control.exe」(C:\Windows\System32\control.exe)で、起動やどの項目を表示させるのかといった指定を行うことができる。コントロールパネルをよく使うのであれば、まずはcontrolを実行する方法を覚えておくとよいのではないだろうか。
OSを知り、インタラクティブシェルを使いこなす
今回はエイリアスに設定するためにアプリケーションの本体を調べる方法を紹介した。全てのアプリケーションの本体や起動方法がわかるわけではないのだが、大半のアプリケーションは紹介した方法でいけると思う。
PowerShellをインタラクティブシェルとして使うということは、やはりWindows 10そのものを知ることにもつながっていく。OSを深く知ることが、インタラクティブシェルのさらなる活用につながるのだ。