Windowsでアプリケーションを起動させたい時には、マウスを動かす。Windows 11のWinボタンで表示されるスタートメニューから目的のソフトウェアを探すというのが一般的ではないだろうか。デスクトップに作成・保存したショートカットから起動するなど様々な呼び出し方があるが、ターミナルで操作しながらこれらを呼び出すときに少し面倒くさい。
GUIのような視覚で選択する場合には、ターミナルでの操作に比べて情報量が多いので微細な認知負荷を感じてしまう。ターミナルから手軽に呼び出せるようにしておきたいものだと感じた。PowershellのStart-Process(公式API)を使えば呼び出せる。
Start-Process "C:\Program Files (x86)\Hidemaru\Hidemaru.exe"
環境変数やレジストリにあらかじめ設定されているようなブラウザの場合は
Start-Process chrome "https://www.google.com"
とURL指定で入力してやれば、Google chromeがhttps://www.google.comを開いた状態で起動する。
環境変数($env:PATH)やレジストリ(Get-ChildItem 'HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\App Paths'やGet-ChildItem 'HKCU:\SOFTWARE\Microsoft\Windows\CurrentVersion\App Paths'で表示)登録されていれば、絶対パスを使わずに呼び出せるので、よく使うものや使い勝手の良さそうなアプリを選んでStart-Processで呼び出すというの手だ。
筆者の場合、HKLM (HKEY_LOCAL_MACHINE)を開くと
Get-ChildItem 'HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\App Paths'
NameにあるものがStart-Processでほぼ呼び出せる。使っていないが、面白そうなものや久しぶりなものも、あったりするので、これはこれで楽しめる。
ここでは、Excelを開いてみよう。先のレジストリ表示のNameでExcelはexcel.exe登録されているので、名前だけで呼びだせる。
Start-Process excel
OneNoteも同様にOneNoteで呼び出せるので、
Start-Process OneNote
としてやると
やはり、コマンドラインから開けると手早い。ステルスな操作ストレスを短縮してくれる。ここに個人的な価値を感じるので極めて短いがPowerShellのプロフィールに登録しておこう。
function excel {
Start-Process excel
}
function onenote {
Start-Process OneNote
}
各ブラウザにURLパラメータ付きでコマンド登録する
SaaSによる業務処理が多い昨今である。ブラウザとURLを組み合わせてコマンドラインで開きたいというケースもある。そのような場合でも同様にコマンド化しておけば便利なケースもあるだろう。ブラウザの場合URLをStart-Processのパラメーラーに指定できる。
chrome https://www.youtube.com/
msedge https://copilot.microsoft.com/
firefox https://github.com/trending
これらをPowerShellのコマンドとして登録するのであれば、こんな感じだろう。
function youtube {
Start-Process chrome https://www.youtube.com/
}
function copilot {
Start-Process msedge https://copilot.microsoft.com/
}
function githubtrend {
Start-Process firefox https://github.com/trending
}
さきほど同様にnotepad $PROFILEで上記を設定し、.$PROFILEで反映すると、
のようなことも可能になる。業務でブラウザを固定したほうがいいような場合に機能を発揮するし、自身がつけたコマンド名から特定Webサイトを開くというエクスペリエンスも活用幅を広げそうである。










