Kae Travis

PowerShell Add-Content Error The Process Cannot Access The File

Posted on by in PowerShell

Have you ever seen the PowerShell Add-Content error The Process Cannot Access The File?

I stumbled upon it a while ago when I wrote a simple PowerShell logging function.  Originally the script used the Add-Content cmdlet to write and append output to a text file for logging purposes. This was fine for sporadic logging of infrequent events.

But when I used the same logging function on a script with heavy processing, which wrote thousands of log entries to a text file in quick succession, it couldn’t write fast enough and I eventually received the error:

The Process Cannot Access the File [Text File] because it is being used by another process.

The reason is because the Add-Content cmdlet requires a read-lock on the text file before it can write to it.  The simple solution is to replace any instances of Add-Content with the Out-File cmdlet, which doesn’t require a read-lock.  For example, change this:

Add-Content -Value "Some text" -Path "C:\Alkane\alkane.txt"

To this:

"Some text" | Out-File "C:\Alkane\alkane.txt" -Append

And your heavy processing script will write log entries much more efficiently.

 

PowerShell Add-Content Error The Process Cannot Access The File
PowerShell Add-Content Error The Process Cannot Access The File

Leave a Reply