Powershell has the Add-Content cmdlet to append data to the end of a file. While it also has Export-CSV cmdlet, that seems to be more for dealing with collections where you pipe a collection of objects directly to the CSV (Comma Separated Value) file. What if you have several variables and you want to put them in a CSV file, one row at a time?
In my application, I just needed to log the creation of a Video and it’s status (Success, Failure…) along with the current date/time, the keyword for that video, and the filename of the video. So I created a small 5 line function to the work, and then call it from different places in my application.
I simply create the $newRow, i.e. the row or line of text to be written to the CSV. I handle add the commas myself, to make it a proper CSV.
The advantage of a CSV file is of course that it can be opened with most any spreadsheet tool, such as Microsoft Excel.
If you have commas inside of your text fields, you would have to do a little more to do, i.e. surrounding each text field with quotes.
Below is a sample of data similar to the sample above.
Filed under: Powershell