空の .ps1 から書き始めたい PowerShell
Windows PowerShell をバリバリ使いこなしている諸兄におかれては、沢山の Windows PowerShell スクリプトファイル (.ps1) を日々量産されていることと思う。
さて、さぁこれから Windows PowerShell スクリプトファイル (.ps1) を書こう、というとき、皆さんはどうしてらっしゃるであろうか。
自分の場合は、エディタ ( Windows PowerShell ISE でも
PowerShell Tools for Visual Studio でも
Visual Studio Code +
PowerShell extension でも
Atom Editor でもなんでもよいのだが ) で PowerShell のコードを書き始めたら、なんとなく癖で、ついつい Ctrl + S で保存したくなるタチだ。
なので、
- まずは作業場所と決めたフォルダ上に空の .ps1 ファイルを作成
- そうして作成した空の .ps1 ファイルを右クリックしてエディタで開いて編集開始
という作業の流れにしたい。
さてところで、
空の .ps1 を作成する手段は?
空の .ps1 を新規作成する方法を探す旅...
まず、Windows エクスプローラーの右クリックにある「新規作成」項目だが、残念ながら自分の Windows 10 Pro には、.ps1 に該当する項目は見当たらなかった。
だがしかし、この私の PC には、
PowerShell Tools for Visual Studio をインストールしてある!
なのできっと、
空の .ps1 のアイテムテンプレートも同時インストールされているに違いない!
まずは Visual Studio 2015 を起動し、Ctrl + N を押してアイテムの新規追加ダイアログを出してみる。
すると...
あれ、おかしいな、
見当たらないですね!
「Script」カテゴリにあるものと思い込んでいたが、これが間違いだったか。
"powershell" をキーワードに検索で探してみよう。
...うーん、
見当たらないですね!
Ctrl + Shift + N でプロジェクトの新規追加を確認してみると...
ふーむ、プロジェクトとしてのテンプレートはあった。
試してみたところ、PowerShell プロジェクトを作成することで、空の .ps1 も同時に作成されることがわかった。
が、プロジェクトファイルとかソリューションファイルとか生成されて、
余計なファイルが増えるだけなんですけど!
Visual Studio Gallery にアイテムテンプレートがあったりするのかな?
Visual Studio Gallery
... こちらにもないですね...orz。
レジストリをいじって解決
致し方ないので、レジストリをいじることで、Windows エクスプローラーの右クリックからの「新規作成」項目に、.ps1 を出現させることとしよう。
具体的には、HKEY_CLASSES_ROOT\.ps1\ShellNew サブキーに REG_SZ 型の NullFile エントリがあればよい。
そのようなレジストリ設定を行う PowerShell コマンドは下記。
レジストリ変更を実施するので、管理者として実行されたコンソール内で実行する必要があると思う。
上記 PowerShell スクリプトを実行後、いったんサインアウトしてサインインしなおすなど Windows エクスプローラーの再起動を実施すると、
右クリックに「Windows PowerShell Script」が現れましたね!
たしかに .ps1 ファイルが作成されることを確認。
以上、これで快適に .ps1 ファイルを書き始められるようになった。
※レジストリ設定変更は、reg コマンド一発で、あるいは .reg ファイルを作成して読み込ませた方がシンプルなような気もするが、今日は PowerShell Advent Calendar の日なので気にしない。