Windows PowerShell にファイルが存在するかどうかを確認する
-
Test-Path
を使用して、PowerShell にファイルが存在するかどうかを確認する -
[System.IO.File]::Exists()
を使用して、PowerShell にファイルが存在するかどうかを確認する -
Get-Item
を使用して、PowerShell にファイルが存在するかどうかを確認する -
Get-ChildItem
を使用して、PowerShell にファイルが存在するかどうかを確認する
ファイルが PowerShell に存在しないというエラーメッセージが表示されることがあります。このチュートリアルでは、PowerShell にファイルが存在するかどうかを確認する 4つの方法を紹介します。
Test-Path
を使用して、PowerShell にファイルが存在するかどうかを確認する
最初の方法は、Test-Path
コマンドレットです。完全なパスが存在するかどうかを判別します。パスが存在する場合は $True
を返し、欠落している要素がある場合は $False
を返します。-PathType Leaf
パラメータは、ディレクトリではなくファイルをチェックします。
Test-Path -Path "C:/New/test.txt" -PathType Leaf
出力:
True
ディレクトリ New
に file.txt
という名前のファイルがない場合は、$False
を返します。
Test-Path -Path "C:/New/file.txt" -PathType Leaf
出力:
False
[System.IO.File]::Exists()
を使用して、PowerShell にファイルが存在するかどうかを確認する
ファイルが存在するかどうかを確認する別の方法は、[System.IO.File]::Exists()
です。ブール結果、ファイルが存在する場合は True
、ファイルが存在しない場合は False
を提供します。
[System.IO.File]::Exists("C:/New/test.txt")
出力:
True
Get-Item
を使用して、PowerShell にファイルが存在するかどうかを確認する
Get-Item
コマンドレットは、指定されたパスでアイテムを取得するために使用されます。これを使用して、ファイルのパスを指定することにより、ファイルが存在するかどうかを確認できます。モード(属性)、最終書き込み時間、長さ、およびファイルが存在する場合はその名前を出力します。ファイルが存在しない場合は、エラーメッセージが表示されます。
Get-Item C:/New/test.txt
出力:
Directory: C:\New
Mode LastWriteTime Length Name
---- ------------- ------ ----
-a---- 12/11/2021 2:59 PM 5 test.txt
以下は、ファイルが存在しない場合の出力です。
Get-Item : Cannot find path 'C:\New\test10.txt' because it does not exist.
At line:1 char:1
+ Get-Item C:/test/test10.txt
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo : ObjectNotFound: (C:\New\test10.txt:String) [Get-Item], ItemNotFoundException
+ FullyQualifiedErrorId : PathNotFound,Microsoft.PowerShell.Commands.GetItemCommand
Get-ChildItem
を使用して、PowerShell にファイルが存在するかどうかを確認する
最後の方法は、Get-ChildItem
コマンドレットを使用することです。1つ以上の指定されたパスでアイテムと子アイテムを取得します。指定したパスにファイルが存在する場合は、ファイルの詳細が表示されます。
Get-ChildItem -Path C:/New/test.txt
出力:
Directory: C:\New
Mode LastWriteTime Length Name
---- ------------- ------ ----
-a---- 12/11/2021 2:59 PM 5 test.txt
Cannot find path '$path' because it does not exist.
というエラーメッセージが出力されます。
Get-ChildItem -Path C:/New/test
出力:
Get-ChildItem : Cannot find path 'C:\New\test' because it does not exist.
At line:1 char:1
+ Get-ChildItem -Path C:/New/test
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo : ObjectNotFound: (C:\New\test:String) [Get-ChildItem], ItemNotFoundException
+ FullyQualifiedErrorId : PathNotFound,Microsoft.PowerShell.Commands.GetChildItemCommand