[powershell]Join-Pathはパイプで使うとキレイ

Join-Path はパス1とパス2を連結するのに使います。

Join-Path パス1 パス2

ただ、この書き方だとパスの数が3つ以上になったりコネコネした結果のパスを連結したいという場合にコードが汚くなります。

Join-Path (Join-Path (Join-Path "C:\" "powershell") "codes") "test.ps1"

パイプで書くとキレイに書けます。
こんな感じに。

Join-Path "C:\" "powershell" | Join-Path -ChildPath "codes" | Join-Path -ChildPath "test.ps1"

このとき、-ChildPathオプションの指定を忘れないように注意。

2 Replies to “[powershell]Join-Pathはパイプで使うとキレイ”

  1. 知りませんでした。今までの私のJoin-Pathの使い方は、例そのものの汚さでした。勉強になりました。

  2. 素晴らしいアイデアを参考にさせていただきました。
    もう一つ進めると、最初の Join-Path と2つ目以降の Join-Path の形式が違うのが気になったのですが、こんな書き方もできますね。

    “C:\” | Join-Path -ChildPath “powershell” | Join-Path -ChildPath “codes” | Join-Path -ChildPath “test.ps1”

    まあこれは好き嫌いが割れそうな気もしますが。

コメントを残す