HIRO's.NET

VB.NET, C#, PowerShell Tipsサイト

 VB.NET, C#, PowerShellを使用しているエンジニアのためのサイト。

 基本的な使用方法から開発で役立つTipsまで幅広く取り扱っています。

HIRO's.NET RSSHIRO's.NET RSS


PowerShellの開発でお困りのことはありませんか?
そんな悩みは当サイトで解決!!

HOME > PowerShell Tips > パス操作 Tips メニュー

01.パスの結合

 
UPDATE:2008/02/15    
 
<< 前のTips  次のTips >> 



パスを結合するには Join-Pathコマンドレットを使用します。

書式は
Join-Path -path 親のパス -childpath 子のパス
です。

パラメータ -path と -childpath は省略可能ですので

書式を
Join-Path 親のパス 子のパス
と記述することも可能です。

なお、パスの区切り記号はプロバイダによって追加されます。

List1では C:\Work と Backupを連結し C:\Work\Backup というパスを作成します。
このコマンドレットの実行で C:\Work と Backup との間に自動でパス区切り文字 "\" が挿入されていることがわかります。

List1

PS C:\Work> Join-Path C:\Work Backup
C:\Work\Backup

つぎに C:\Work\ と \Backup という文字列を連結してみたいと思います。(List2)

実行してみるとわかるとおり、単純に "C:\Work\" と "\Backup" を連結して "C:\Work\\Backup" とするのではなく、パスとして有効な文字列 "C:\Work\Backup" にして返すようになっています。

List2

PS C:\Work> Join-Path C:\Work\ \Backup
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)

List3

PS C:\Work> $a = Join-Path C:\Work (Get-Date).ToString("yyyyMMdd")
PS C:\Work> New-Item -path $a -type directory


ディレクトリ: Microsoft.PowerShell.Core\FileSystem::C:\Work


Mode LastWriteTime Length Name
---- ------------- ------ ----
d---- 2008/02/15 14:06 20080215
 
<< 前のTips  次のTips >>