[PowerShell][Test-Path] ファイルやディレクトリの存在をチェックする

本記事の概要

この記事では、Test-Path コマンドレットを使用して、ファイルの存在を確認する方法について説明します。

Test-Path コマンドについての公式サイト情報はコチラを参照してください。

 

ファイルやディレクトリが存在するかを確認するには?

パスの要素を確認するには、以下の構文を使用します。パス要素が存在する場合は True を存在しない場合は False を返します。

構文

Test-Path 存在を確認する対象のパス

以下は、C:¥Work¥test.txt のパス要素が存在するかを確認します。

ここでいうパス要素とは、「C:¥Work」のディレクトリと「C:¥Work¥test.txt」です。この2つが存在するときに True が返されます。どちらか一つでも存在しない場合は False が返されます。

PS > Test-Path C:\Work\test.txt
True

 

存在の確認対象を限定するには?

Test-Path は、パラメータ -PathType を使用すると、存在の確認対象を限定することができます。

-PathType に指定できる値は以下のものがあります。ちなみに、-PathType を省略した場合は any を指定することと同義になります。

説明
any ファイルとディレクトリの両方を対象とします
Container ディレクトリを対象とします
Leaf ファイルを対象とします

以下は、ファイルのみの存在を確認する例です。-PathType に Leaf を指定していますので、パスの中の test.txt が存在するかを確認します。

PS > Test-Path C:\Work\test.txt -PathType Leaf

以下は、ディレクトリのみの存在を確認する例です。-PathType に Container を指定しています。一見すると C:¥work の存在を確認するようにも思えますが、test.txt というディレクトリの存在を確認せよ、という意味になりますので注意してください。

PS > Test-Path C:\Work\test.txt -PathType Container

コメント

タイトルとURLをコピーしました