In this tutorial, I will explain how to create a file using PowerShell if it doesn’t already exist. As a PowerShell user, I’ve encountered situations where I needed to ensure a file was created only if it wasn’t present. I’ll walk you through different methods to achieve this with examples.
Check File Existence with Test-Path in PowerShell
Before creating a file, checking if it already exists is crucial. PowerShell provides the Test-Path cmdlet for this purpose. By combining Test-Path with the New-Item cmdlet, you can create a file only if it doesn’t exist.
Here’s an example:
$filePath = "C:\Reports\sales_report.txt"
if (!(Test-Path $filePath)) {
New-Item -ItemType File -Path $filePath
}
In this code snippet, we first specify the desired file path in the $filePath variable. Then, we use Test-Path to check if the file exists. If it doesn’t exist (!(Test-Path $filePath)), we use New-Item to create the file at the specified path.
I executed the above PowerShell script, and you can see the output in the screenshot below:

Check out PowerShell check if file modified in last 24 hours
Create a File with New-Item in PowerShell
The New-Item cmdlet in PowerShell that allows you to create various types of items, including files. To create a file using New-Item, you need to specify the -ItemType parameter as File and provide the desired file path using the -Path parameter.
Here’s an example:
New-Item -ItemType File -Path "C:\Reports\inventory.csv"
This command creates a new file named “inventory.csv” in the specified directory.
Handle Directories That Don’t Exist using PowerShell
When creating a file, you might encounter a situation where the target directory doesn’t exist. In such cases, you can use the -Force parameter with New-Item to create the necessary directory structure along with the file.
Consider the following example:
New-Item -ItemType File -Path "C:\Reports\sales_data.xlsx" -Force
If the “Reports\” directory doesn’t exist, the -Force parameter ensures that the entire directory structure is created, and then the “sales_data.xlsx” file is created within it.
Check out PowerShell create folder if not exists
Output Content to a File with Out-File
In addition to creating an empty file, you might want to create a file with specific content. PowerShell provides the Out-File cmdlet for this purpose. Out-File allows you to redirect output or write content to a file.
Here’s an example that creates a file with a list of running processes:
Get-Process | Out-File -FilePath "C:\Logs\process_list.txt"
This command retrieves the list of running processes using Get-Process and then pipes the output to Out-File, which creates the “process_list.txt” file and writes the process information to it.
If the specified file doesn’t exist, Out-File creates it automatically. If the file already exists, Out-File overwrites its content by default. To append content to an existing file, you can use the -Append parameter.
Create Multiple Files using PowerShell
Sometimes, you might need to create multiple files at once. PowerShell allows you to achieve this by leveraging loops or arrays.
Here’s an example that creates multiple files using a for loop using PowerShell.
$folderPath = "C:\Reports"
for ($i = 1; $i -le 5; $i++) {
$fileName = "report_$i.txt"
$filePath = Join-Path -Path $folderPath -ChildPath $fileName
New-Item -ItemType File -Path $filePath
}
This code specifies the folder path where we want to create the files. Then, we use a for loop to iterate from 1 to 5. In each iteration, we generate a unique file name using the loop variable $i, combine it with the folder path using Join-Path, and finally use New-Item to create the file.
Check out PowerShell unblock-file
PowerShell Check If File Exists
To check if a file exists in PowerShell, you can use the Test-Path cmdlet. This cmdlet returns $true if the specified file path exists and $false if it doesn’t.
Here’s an example that demonstrates how to use Test-Path to check if a file exists:
$filePath = "C:\Reports\report.txt"
if (Test-Path $filePath) {
Write-Host "The file $filePath exists."
} else {
Write-Host "The file $filePath does not exist."
}
In this example:
- We assign the file path we want to check to the
$filePathvariable. - We use the
Test-Pathcmdlet with the$filePathvariable as the parameter. The cmdlet returns$trueif the file exists and$falseif it doesn’t. - We use an
ifstatement to check the result ofTest-Path:- If
Test-Pathreturns$true, indicating the file exists, the script will output “The file C:\Reports\report.txt exists.” - If
Test-Pathreturns$false, indicating the file doesn’t exist, the script will output “The file C:\Reports\report.txt does not exist.”
- If
Here is the exact output in the screenshot below:

Read How to Create a Log File using PowerShell?
PowerShell Create Text File
To create a text file using PowerShell, you can use the New-Item cmdlet with the -ItemType parameter set to File. This cmdlet allows you to create various types of items, including files and directories.
Here’s an example that demonstrates how to create a text file using New-Item:
$filePath = "C:\Reports\sample.txt"
New-Item -ItemType File -Path $filePath
In this example:
- We assign the desired file path for the new text file to the
$filePathvariable. In this case, we want to create a file named “sample.txt” in the “C:\Reports” directory. - We use the
New-Itemcmdlet with the following parameters:-ItemType: We set this parameter toFileto specify that we want to create a file.-Path: We provide the$filePathvariable as the value for this parameter, indicating the path and name of the file we want to create.
- When you run this command, PowerShell will create a new empty text file at the specified path. If the file already exists, you will receive an error message. To overwrite an existing file, you can add the
-Forceparameter to theNew-Itemcommand.
Conclusion
In this tutorial, I explained different methods to create files in PowerShell using different methods such as Test-Path, New-Item, and Out-File, etc. I hope this tutorial helps you to know how to create files in PowerShell if they don’t exist.
You may also like:
- PowerShell Copy-Item with Folder Structure
- Get-ChildItem Sort By Date in PowerShell
- Write to File without Carriage Return in PowerShell

Hey! I’m Bijay Kumar, founder of SPGuides.com and a Microsoft Business Applications MVP (Power Automate, Power Apps). I launched this site in 2020 because I truly enjoy working with SharePoint, Power Platform, and SharePoint Framework (SPFx), and wanted to share that passion through step-by-step tutorials, guides, and training videos. My mission is to help you learn these technologies so you can utilize SharePoint, enhance productivity, and potentially build business solutions along the way.