Windows PowerShell にファイルが存在するかどうかを確認する

Rohan Timalsina 2023年1月30日
  1. Test-Path を使用して、PowerShell にファイルが存在するかどうかを確認する
  2. [System.IO.File]::Exists() を使用して、PowerShell にファイルが存在するかどうかを確認する
  3. Get-Item を使用して、PowerShell にファイルが存在するかどうかを確認する
  4. Get-ChildItem を使用して、PowerShell にファイルが存在するかどうかを確認する
Windows PowerShell にファイルが存在するかどうかを確認する

ファイルが PowerShell に存在しないというエラーメッセージが表示されることがあります。このチュートリアルでは、PowerShell にファイルが存在するかどうかを確認する 4つの方法を紹介します。

Test-Path を使用して、PowerShell にファイルが存在するかどうかを確認する

最初の方法は、Test-Path コマンドレットです。完全なパスが存在するかどうかを判別します。パスが存在する場合は $True を返し、欠落している要素がある場合は $False を返します。-PathType Leaf パラメータは、ディレクトリではなくファイルをチェックします。

Test-Path -Path "C:/New/test.txt" -PathType Leaf

出力:

True

ディレクトリ Newfile.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
著者: Rohan Timalsina
Rohan Timalsina avatar Rohan Timalsina avatar

Rohan is a learner, problem solver, and web developer. He loves to write and share his understanding.

LinkedIn Website

関連記事 - PowerShell File