Single Quotes vs. Double Quotes in PowerShell: What's the Difference?

I received variations on this question from no less than four folks today, so it's the official Question of the Day: What's the difference between single and double quotes in PowerShell? Which should I use?

Don Jones

December 7, 2010

2 Min Read
ITPro Today logo in a gray background | ITPro Today

I received variations on this question from no less than four folks today, so it's the official Question of the Day: What's the difference between single and double quotes in PowerShell? Which should I use?

Both kinds of quotes are used to delimit string values. In general, you should use single quotes:

Write-Host 'This is a message'
There are three instances when you might want to shift to double quotes. First, when you want to have variable names replaced with their contents:

$var = 'World'$out = "Hello $var"# $out now contains 'Hello World'
That's a useful trick, since it saves you from having to concatenate strings in a lot of situations. Second, when you need to delimit a string within the string - such as in a SQL query:

$query = "SELECT * FROM Customers WHERE Name LIKE '%JONES%'"
Using outer double quotes lets you use the single quotes needed within the string. Finally, when you need to use an escape character, since those aren't parsed within single quotes:

Get-Process | Export-CSV processes.tdf -delimiter "`t"
That creates a tab-delimited file. Apart from those three instances, it's generally considered a best practice to stick with single quotes.


Training Update: SAPIEN Technologies is having me teach a four-day Windows PowerShell class, using the courseware I designed for them, in Las Vegas this February. It'll be at the freshly-remodeled Tropicana hotel (if you haven't seen it in the past couple of months, it's really gone from woesome to awesome). Here are the details. If that's a bit soon for you, I'll have my own 5-day PowerShell Retreat in June, also in Vegas (although slightly off-Strip). Discounted pricing for that is still available, which includes most of your meals and your hotel room for under $3000! It'll be co-located with Greg Shields' Windows 7 Deployment Retreat. Hope to see you in a class soon!

Sign up for the ITPro Today newsletter
Stay on top of the IT universe with commentary, news analysis, how-to's, and tips delivered to your inbox daily.

You May Also Like