HOWTO · PowerShell
How to Check if a File Exists in Windows PowerShell
This tutorial will teach you to check if a file exists or not in Windows PowerShell.
On this page
Sometimes, you get an error message saying the file does not exist in PowerShell.
This tutorial will introduce four methods to check if a file exists in PowerShell.
Use Test-Path to Check if a File Exists in PowerShell
The first method is the Test-Path cmdlet. It determines whether the complete path exists. It returns $True if the path exists and $False if any element is missing. The -PathType Leaf parameter checks for a file and not a directory.
Test-Path -Path "C:/New/test.txt" -PathType Leaf
Output:
True
If there is no file named file.txt in the directory New, it returns $False.
Test-Path -Path "C:/New/file.txt" -PathType Leaf
Output:
False
Use [System.IO.File]::Exists() to Check if a File Exists in PowerShell
Another method to check if a file exists is [System.IO.File]::Exists(). It provides a Boolean result, True if the file exists or False if the file does not exist.
[System.IO.File]::Exists("C:/New/test.txt")
Output:
True
Use Get-Item to Check if a File Exists in PowerShell
The Get-Item cmdlet is used to get the item at the specified path. You can use it to check if a file exists by specifying the file’s path. It prints the mode (attributes), last write time, length, and name of a file if it exists. It displays an error message if a file does not exist.
Get-Item C:/New/test.txt
Output:
Directory: C:\New
Mode LastWriteTime Length Name
---- ------------- ------ ----
-a---- 12/11/2021 2:59 PM 5 test.txt
Below is the output when the file doesn’t exist.
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
Use Get-ChildItem to Check if a File Exists in PowerShell
The last method is to use Get-ChildItem cmdlet. It gets the items and child items in one or more specified paths. It displays the file details if the file exists in the specified path.
Get-ChildItem -Path C:/New/test.txt
Output:
Directory: C:\New
Mode LastWriteTime Length Name
---- ------------- ------ ----
-a---- 12/11/2021 2:59 PM 5 test.txt
It prints an error message saying Cannot find path '$path' because it does not exist. when a file is not found.
Get-ChildItem -Path C:/New/test
Output:
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