@' abcde fghij '@.Split("`r`n") | Set-Variable hoge
みたいにヒアドキュメント的なことをするとき、Splitの引数に"`r`n"を指定している記事が時々ある。
これは、Windowsのコンソールで上記の内容を直接タイプしているときは問題ない。
しかし、上記の内容をファイルに格納してドットソース形式で実行したり、Windows以外の環境で実行したりする場合にはうまく行かない(文字列が区切られずにそのままSet-Variableされてしまう)。
問題の原因はSplitの引数に"`r`n"を指定しているため(コマンドプロンプトだけ内部的な文字コードが異なる?)。
ここを"`n"にすれば、ファイルに格納していても、Linuxのターミナル上でも、問題なく動く。