Welcome PowerShell User! This recipe is just one of the hundreds of useful resources contained in the PowerShell Cookbook.
If you own the book already, login here to get free, online, searchable access to the entire book's content.
If not, the Windows PowerShell Cookbook is available at Amazon, or any of your other favourite book retailers. If you want to see what the PowerShell Cookbook has to offer, enjoy this free 90 page e-book sample: "The Windows PowerShell Interactive Shell".
You want to place special characters (such as tab and newline) in a string variable.
In an expanding string, use PowerShell’s escape sequences to include special characters such as tab and newline.
PS > $myString = "Report for Today`n----------------" PS > $myString Report for Today ----------------
As discussed in Recipe 5.1, PowerShell strings come in two varieties: literal (or nonexpanding) and expanding strings. A literal string uses single quotes around its text, whereas an expanding string uses double quotes around its text.
In a literal string, all the text between the single quotes becomes part of your string. In an expanding string, PowerShell expands variable names (such as $ENV:SystemRoot
) and escape sequences (such as `n
) with their values (such as the SystemRoot
environment variable and the newline character).
Unlike many languages that use a backslash character (\
) for escape sequences, PowerShell uses a backtick (`
) character. This stems from its focus on system administration, where backslashes are ubiquitous in pathnames.
For a detailed explanation of the escape sequences and replacement rules inside PowerShell strings, see “Strings”.
Recipe 5.1, “Create a String”
“Strings”