It’s easy to append text to a file with Windows Powershell with the Add-Content cmdlet, here are some examples:
- Create a sample text file using notepad. I have created mine like this:
- Open a Powershell Window and type:
Add-Content C:\temp\test.txt "Test"
If you open the text file again, you will see the text has been appended on to the end of the existing line:
The above example is fine, but as you can see the data was not written to a new line.
Example PowerShell to append text to a file on to a new line
To append content on to a new line you need to use the escape character followed by the letter “n”:
So to continue the example above you could use:
Add-Content C:\temp\test.txt "`nThis is a new line"
And then the resulting text file would look like this:
Append formatted data with Powershell by using tabs and new lines
This example creates a tab formatted file, the output looks like this:
The Powershell to create the above example is:
Add-Content C:\temp\test.txt "`nItem`tQty`tValue`tTotal" Add-Content C:\temp\test.txt "`nPants`t4`t32.22`t128.88" Add-Content C:\temp\test.txt "`nSocks`t3`t5.07`t15.21" Add-Content C:\temp\test.txt "`nShoes`t12`t136.57`t1638.84"
As you can see, the tabs are added with the special character “`t”.
Appending to a file using redirection
The process described above seems to be the “normal” way to append to a file in PowerShell. But if you have come from a Unix or Linux background that will probably seem like hard work compared to just using command redirection, which also works perfectly well in PowerShell. For example:
"This is a test" >> Testfile.txt
I don’t know why this method isn’t used more in PowerShell because it is much more succinct than “Add-Content”. Perhaps it is because it does not have the same level of functionality, in most cases it is fine.