PowerShellって要するに.NET Frameworkスクリプトかな?

はてなブログは90日以上更新しないと上部にデカデカと広告が出るようになるのねー *1

f:id:nextugi:20170304000348p:plain

しょうがないから更新する。特に話題もないけど。

ここ数ヶ月はずっとPowerShellを使ってた。少し前に、コマンドプロンプトが2軍落ちすると聞いて、乗り換えることにしたのだ。

news.mynavi.jp

まともなPowerShellの本と言えば例のクックブックぐらいしかなかったのだが、Bashとか使える人ならあれで間に合う。

やってみるとPowerShellは意外と面白い。例を挙げると、こんな感じ。

# 東京オリンピックまでの日数を調べる
[datetime] '2020/7/24' - [datetime]::today

# foobarという文字列を含む cpp ファイルを探す
gci c:\src\*.cpp -re -file | sls foobar

# どの拡張子が多いか調べる
gci c:\down\* -re -file | group extension | sort count -desc

シェルとスクリプトの中間みたいなものを目指しているように感じる。つまりシェルスクリプトってことなんだけどー。DOSゆずりの貧弱なコマンドプロンプトと、ビミョーなスクリプティング環境であるWSH (VBScript, JScript) の問題を.NET Frameworkで一挙に解決してしまおうという魂胆か。そしてそれは今のところ成功しているっぽい。

JavaVMの中間コードを生成するプログラミング言語はたくさんあるけど、PowerShellはそれの.NET Framework版といった感じ。つまり、PowerShellを理解するのには.NET Frameworkの知識が結構必要ってこと。自分はC#はほとんどできないけど、いつかやってみたいね。

*1:なお、表示されている広告はベビーキャリアの広告である。自分はあちこちのサイトで、この手の妊婦あるいは乳幼児向け製品の広告によく遭遇するのだが、ひょっとして自分は、ビッグデータで妊娠しているものと判定されているのではないかと疑問に思っている。