著作一覧 |
PowerShellを先々月あたり、仕事に使おうかと思ってサーバーの上でスクリプトを書きながらいろいろ試し始めて、結局翌日にはRubyのMSIを突っ込むことになったのだった。
くそのような言語だ。おいしいものを詰め込んで酸をぶっかけてこねくり回して栄養を吸い取って匂いをつけて一丁あがりだ。
悪いとこどり。
dirの代わりにlsと書けたり、エイリアスからはちょっと/bin/shみたいに見える。Unixerを向いているのかと思えば、dirとも書けるからbaterのことも向いている。
dir|moreと書けばそれなりに出てくるから、cmderにも向いていそうに見える。
でもdir /w
とすると
dir : パス 'C:\w' が存在しないため検出できません。
となるから、cmderには少しも優しくない。
ならばとls -l
と打つと
Get-ChildItem : パラメーター 'LiteralPath' の引数が指定されていません。型'System.String[]' のパラメーターを指定し、再試行してください。
となってUnixerに優しいわけでもないと気付く。
中途半端というのはPowerLessのためにある言葉だ。
でもls | % { echo $_.name }
というような書き方を知って来ると、おや便利かも、という気がしてくる。が、なんで今更$_
なんだ? と感じるおれがいる。
しかも@"
で始まるからバーベイティムストリングかと思ってC#er魂が湧いてくると、妙なエラーとなる。
here-string ヘッダーから行の末尾までの間に文字を使用することはできません。
実はヒアドキュメントなので、直後に改行を打たないとエラーになるのだった。ぐは。
JavaとJavaScriptの顰にならって、C#に対するCsScriptとかにしてくれれば遥かに話が楽だったと思うのだった。ぷんすか。
しかも拡張子ps1を動かすためにやたらと手間がかかったりとか。
でも無いよりはましなので、ちょっとずつ覚え中なのであった。
【改訂新版】 Windows PowerShell ポケットリファレンス(牟田口 大介)
今のところ、$conn = new-object System.Data.SqlClient.SqlConnection('xxxx')
で始まるものを書かせたら、一番楽なことだけは間違いないと思うからだった。
ジェズイットを見習え |