PowerShellのOut-Fileコマンドの出力内容指定

お疲れ様です。M.Kです。
たまには文字以外について。

最近業務でWindows PowerShellを扱いました。
きちんと触ったのは初めてだったので、新鮮だと思いつつ躓いたことがありましたので、メモ的に書いておきます。

PowerShellのコマンドは、パイプ”|”でいくらでも繋げられるので、直感的に書けるのですが、そのパイプを使わない場合、地味にどう書けばよいのかわからない自体が発生しました。
Out-Fileコマンドでの出力内容の指定方法です。

$a = “abcde…” | ($aの内容をこねこね)
Out-File -FilePath hoge.txt ←$aの内容を出力したい

一行目で出力内容を編集し、
二行目でOut-Fileを使用して一行目の内容を出力したい。
しかしOut-Fileコマンド自体には、出力内容を指定する方法がないようです。”|”を前にくっつけない限り。
1行目の後ろにくっつければよいのでしょうが、可読性が落ちるしやりたくない。
ではどうするべきか。

$a = “abcde…” | ($aの内容をこねこね)
$a | Out-File -FilePath hoge.txt

これでOKです。
“|”前の”$a”を受けて、”$a”の内容がhoge.txtに書き込みされます。
パイプで区切られたブロックの中では、何らかの操作を行わなければならないという思い込みがあったのですが、単に変数のみを指定してやればよかったのですね。
直感的な書き方で逆に引っかかった一件でした。

東京アプリケーションシステム

最近の記事