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
