Equivalent of Linux `touch` to create an empty file with PowerShell?
Using the append redirector ">>" resolves the issue where an existing file is deleted:
echo $null >> filename
To create a blank file:
New-Item -ItemType file example.txt
To update the timestamp of a file:
(gci example.txt).LastWriteTime = Get-Date
Here is a version that creates a new file if it does not exist or updates the timestamp if it does exist.
Function Touch-File
{
$file = $args[0]
if($file -eq $null) {
throw "No filename supplied"
}
if(Test-Path $file)
{
(Get-ChildItem $file).LastWriteTime = Get-Date
}
else
{
echo $null > $file
}
}