これうっかりしてるとスルーしてしまいそうです。具体例たとえば、こんなデータがあったとします。名前や生年月日が書かれたデータで、一応、法則性はあるようです。これをまともにパースしようと思うと、2行ごとに切り出して、正規表現を書いて...と、ちょっと面倒ですね。ちなみにこのダミーデータ作成にはなんちゃって個人情報を使わせていただきました。CSVで出力した後、以下のようなスクリプトでわざわざ醜く変形しました。Parsingで用いるテンプレートを書いてやりましょう。以下のように適当に3件(ここでは3〜5個目のレコード)抜き出して、プロパティ名をつけてやります。赤字が、手動で元データに付与した文字列です。({Age:45}歳)、{Sexuality:女}性みて頂ければ分かると思いますが、基本は、各データ項目に対して、{プロパティ名:データ}のように指定してやるだけです。主キーとなるデータ項目にはプロパティ名の後に「*」をつけてやります。やって作ったテンプレートをtemplate.txtと名前を付けて保存しましょう。元データとテンプレートが揃ったので、あとは以下のようにしてConvertFrom-Stringコマンドレットを実行するだけです。テンプレートを元に、元テキストに含まれるすべてのデータが、プロパティ値を持ったオブジェクトデータに変換されていることが分かるかと思います。Parsingは個人的には、非常に面白い機能だと感じています。コンピュータに対して、「手本見せるよ、これはこう、これはこう。あとは同じようにまとめといてね!」というのができるようになったわけで、ちょっと未来を感じました。研究所レベルの研究成果を、製品として実装した初の例が、PowerShellだったというのも面白味を感じます。CSVでもJSONでもXMLでもない、わけのわからない謎フォーマットで保存されたテキストデータを解析しなきゃならない事態というのは、そもそも不幸な状況であることも、また事実かと思います。ConvertFrom-Stringは、そんな訳の分からないものを撲滅して、今度こそまともなフォーマットのデータに変換して保存するための、最終兵器のようなものかもしれません。Parsingでは他にもプロパティに型を指定したり、部分的に正規表現を用いたり、階層構造を持つデータにも対応してたりと、かなり色々なことができるようになっています。v5環境を整えて、ConvertFrom-Stringを試してみてください。ご参加いただけると幸いです。@mutaguchiBooks書籍版。