Kae Travis

Powershell Add Content Error the Process Cannot Access the File

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