2018年2月17日土曜日

PowerShell 初心者

最近は職場で作業効率を図るため、
Windows PowerShell ISEを使ってバッチプログラムを作成したりしています。

これまでVisual Studioでの開発に慣れていて
PowerShellのインテリセンス機能の面で使いずらさを感じたので
いくつか調べた内容について書いてみようと思います。

最初は「インテリセンス機能がないのか・・・」と思いきや、
調べてみるとTabキーで補完してくれる機能がありました。

例えば、現在日付を取得する「Get-Date」コマンドレットを入力しようとして
"Get-"を入力 → Tabキー押下
GetのAから始まるコマンドレットが表示されますが
Visual Studioのようにプルダウンで候補が表示されるわけではありません。。(泣)
"Get-D"まで入力してからTabキーなのね、と妥協(?)しつつ使う。

次に、コマンドレットのメソッドやプロパティについて。
Visual Studioではオブジェクトなどの後に"."(ドット)入力で候補がでてきますが、
PowerShell(Ver2.0)では 同様に入力しても何も表示されません。。(泣)

そこで、
 コマンドレット名 | Get-Member
を実行するとスクリプトウィンドウにメソッド・プロパティの一覧が表示されますので
そこからコピーして使っています。

もっと簡単に
 コマンドレット名 | gm
でもOK(gm は Get-Member のエイリアス)

コマンドレットのヘルプや使用例を知りたいときはこれらを実行。
コマンドレット名 -?     :基本的なヘルプ
help コマンドレット名 -Full  :完全なヘルプ
help Get-Date -Examples   :使用例









スクリプトウィンドウでは見にくいときは
 help コマンドレット名 -Online
の実行でブラウザがたちあがりオンラインヘルプが見れます。

実際のコーディングをしていれば
上記のコマンドだけを記載しているわけではないので
F5キーで実行しちゃうと他のコードも実行されてえらいことですが、
PowerShellの場合、実行したい部分だけを範囲選択してF8キーを押せば
その部分だけを実行してくれるので便利です。

0 件のコメント:

コメントを投稿