読書とプログラミングを中心とした覚書ブログ

読書とプログラミングについて、日々経験したことを忘れないようにするため、極力ブログに記録を残すように頑張る。

PowerShellの開発速度の改善を考える

 公開日     更新日  2020/09/16

superbike-930715-2

私はどちらかというとWindowよりもUNIXの方がなれてますが、仕事ではWindowsをメインに使ってることもあり、なれてなくてもアウトプットを出す必要があります。
そのためにはWindowsでの作業効率を改善しなければならず、これには普段の定型作業の自動化ははずすことはできません。

必然的にプログラムを組むことになりますが、簡単に作りたいので、「標準提供」「スクリプト言語」という特性を持つPowerShellをしばらく使ってます
本日は入門後しばらく経験した中からPowerShellでの開発速度の改善になったポイントを紹介したいと思います。

開発環境

PowerShell 3.0以降であれば標準でPowerShellのための開発環境であるPowerShell ISEが提供されています。
メモ帳などのテキストエディタでも問題ないのですが、PowerShell ISEなら、開発効率をぐっと向上させることの出来る支援機能が使えます。
PowerShell ISEの提供機能については、ざっくりと抜粋すると以下のような機能があります。

  • タブ補完機能
    命令を数文字入力してTABキーを入力すると、その数文字から始まる候補を表示してくれるので途中で欲しい綴りのコマンドが入力できてしまいます。
    個人的な感覚ですが、タイプしなければならない文字数は平均で60%前後ぐらいまで減らすことが出来ているような気がしており、かなり改善していると思います。
  • デバッグ時のステップ実行機能
    Java開発ならEclipseで日常出来て当然のなじみのある機能ですが、PowerShell ISEでも出来ちゃいます。
    スクリプト言語なのでゴリゴリと動かしながらのトライ&エラーでもそれなりの効率をたたき出すことは可能です。
    しかしながら、デバッグ時にステップ実行出来ると、手を動かさなくても動作を把握できるのでかなり作業が捗ります。
  • デバッグ時のブレークポイント機能
    こちらもEclipseなら当然ですが、なんとPowerShellではスクリプト中にブレークポイントを仕掛けることが可能なのです!
    一手間増えますが、Set-PSBreakpoint命令を使ってどちらかというとプログラムするといった使い方。
  • 任意のタイミングで実行可能
    スクリプト言語なのでコンパイルすることなく実行確認が可能なのは当たり前なのですが、PowerShellプロンプトを開くことなくF5キーを押すとすぐに実行確認が出来ます
    このおかげで複数ウインドウを開く必要がなくなり、ウインドウが埋もれて迷子になるということがなくなりますね。

エイリアス機能

エイリアス機能とは、PowerShellの命令を別の短い文字列に置き換えて使うことが可能になるというもので、まさにUNIXのaliasと同じ働きがあります。
エイリアス機能についてはこちらのサイトに説明があります。

PowerShell ISEを導入するとタブ補完機能でタイプ量を減らすことが可能ですが、エイリアス機能を使うと抜本的な入力量の削減が可能になるわけです。
さらに、エイリアス機能の場合は入力時だけでなく完成したソースコードも長ったらしい命令がなくなってスッキリと見やすくなるという効果もあります。

エイリアス機能の対象は、PowerShellが標準で提供するエイリアスと、使用者が付け足すことが出来るエイリアスの2種類あります。
付け足すといくらでも好きなように組み立てられますが、私はどこへ行ってもマシンに左右されず即使えるほうがうれしいので、意識して標準で提供されるエイリアスのみを使うようにしています。

標準のエイリアスは次のコマンドを実行するとリストアップすることが出来ます。
lsとかmvとかUNIXっぽいつづりのコマンドがありますが、意識してたのでしょうか。
ループで使われるForEach-Objectも「%」1文字で「%{ … }」という書き方が通用するようになってます。

参考情報

参考情報としては、Microsoftのサイトで検索するのが一番答えに近いようです。
イキナリ話が飛びましたが、いかんせんPowerShellの場合はWEBを検索してもリソースが不足しているんです。

英語リソースでよければStackOverflowなどでも情報は多く参考になるのですが、すべて英語だと効率ががた落ちになりますので、日本語で探す場合はMicrosoftのサイトが一番なのかな。

あと参考情報になりますが、書籍を手元においておくのも手段としては間違ってはないと思いました。
ちょっとした作業に没頭していると、下手にウインドウのレイアウトをいじくれないようなタイミングがあって、そのときにちょっとしたことではありますが、画面外に目を移して検索できる仕掛けがあると、うれしかったりします。

AmazonでPowerShellとして人気な書籍ということであればこちらの模様です。

WEBサイトも書籍もどちらも検索上位は英語が多めなので、もう少し充実されていてもよいような気がしますね。

レスポンシブ広告

Message

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

Time limit is exhausted. Please reload CAPTCHA.

  関連記事

.NETダイアログが表示されずスクリプトが止まる問題の対策

PowerShell入門中です。 先日のこちらの記事(PowerShellでダイ …

MiniDV形式ビデオテープを撮影日時つきファイルでバックアップ[PowerShell版]

去年からちょいちょいPowerShellを使い出しました。 勉強の一環で、ちょっ …

PowerShellでダイアログを表示し入力結果を取得

PowerShellの入門中です。 今回はPowerShellスクリプトからのW …

PowerShellスクリプトを動かすための設定

PowerShellは最近のWindowsで追加されたスクリプト言語で、今のWi …

PowerShellの開発速度の改善を考える