VB.NET, C#, PowerShellを使用しているエンジニアのためのサイト。
基本的な使用方法から開発で役立つTipsまで幅広く取り扱っています。
パスを結合するには Join-Pathコマンドレットを使用します。
書式は
Join-Path -path 親のパス -childpath 子のパス
です。
パラメータ -path と -childpath は省略可能ですので
書式を
Join-Path 親のパス 子のパス
と記述することも可能です。
なお、パスの区切り記号はプロバイダによって追加されます。
List1では C:\Work と Backupを連結し C:\Work\Backup というパスを作成します。
このコマンドレットの実行で C:\Work と Backup との間に自動でパス区切り文字 "\" が挿入されていることがわかります。
List1PS C:\Work> Join-Path C:\Work Backup |
つぎに C:\Work\ と \Backup という文字列を連結してみたいと思います。(List2)
実行してみるとわかるとおり、単純に "C:\Work\" と "\Backup" を連結して "C:\Work\\Backup" とするのではなく、パスとして有効な文字列 "C:\Work\Backup" にして返すようになっています。
List2PS C:\Work> Join-Path C:\Work\ \Backup |
最後に実例ですが、C:\Work の下に今日の日付をディレクトリ名にしたパスを作成し、実際にそのディレクトリを作成してみたいと思います。
ます、今日の日付(書式:yyyyMMdd)を文字列として取得するには
(Get-Date).ToString("yyyyMMdd")とします。
よって
Join-Path C:\Work (Get-Date).ToString("yyyyMMdd")
とすることで、目的のパスを取得することができます。
とりあえずこれを変数 $a に代入しましょう。
次にディレクトリの作成ですが New-Itemコマンドレットを使用します。(Tips:ディレクトリを作成するを参照)
New-Item -path $a -type directory
とすれば、今日の日付のディレクトリが C:\Workに作成されます。(List3)
List3PS C:\Work> $a = Join-Path C:\Work (Get-Date).ToString("yyyyMMdd") |