转义字符用于对其后的字符给出特殊解释。Powershell中的转义字符是反引号(`),也称为抑音符(ASCII 96)。它可用于指示文本(变量名不替换为变量值,直接输出)、行继续(还有后续输入) 和特殊字符。


1.指示文本(变量名直接输出,不替换为变量值)    

    当转义字符位于变量前面时,它可阻止该变量名被变量值替代。当一个转义字符位于双引号前面时,PowerShell 将双引号解释为字符,而不是字符串分隔符。例如:

PS C:\> $a = 1
PS C:\> "The value of varable `$a is $a"
The value of varable $a is 1
PS C:\> "We use the escape characters mark (`") as string"
We use the escape characters mark (") as string
PS C:\> "We use the escape characters mark (") as string"
表达式或语句中出现意外标记“)”。
所在位置 行:1 字符: 39
+ "We use the escape characters mark (") <<<<  as string"
    + CategoryInfo          : ParserError: ():String) [], ParentContainsErrorRecordException
    + FullyQualifiedErrorId : UnexpectedToken

2. 指示行继续(还有后续输入)

    转义字符告知Powershell 命令还没有输完,在下一行继续。这主要用于在Powershell Console 输入语句时,提高命令的可读性分行输入。例如:

PS C:\> Get-Process `
>> Powershell
>>
Handles  NPM(K)    PM(K)      WS(K) VM(M)   CPU(s)     Id ProcessName
-------  ------    -----      ----- -----   ------     -- -----------
    224       6    28988      15364   138     1.20   1604 powershell

3. 指示特殊字符

    如果在引号内使用转义字符,可以向Powershell 分析程序提供指令的特殊字符。

Powershell能够识别以下特殊字符。

特殊字符
说明示例
`0Null。Powershell可以识别null特殊字符(`0),并用字符代码0来表示该特殊字符,Powershell输出中显示为空白。所以Powershell可以读取并处理包含null字符(字符串终止或记录终止指示符)的文本文件。需要注意,null 特殊字符与 $null 变量不同,后者存储 NULL 值
`a警报。可向计算机的扬声器发送蜂鸣信号,可用此字符向用户发出有关危险操作的警告PS C:\> for ( $i =0 ; $i -le 1; $i++) { "`a" }
`b退格。将光标后退一个字符。

PS C:\> "Windows`b Powershell"

Window Powershell

`f换页。打印字符,指示在当前字符的下一页继续打印,该字符只影响打印的文档,不影响屏幕输出
`n换行。其后的内容在下一行显示。

PS C:\> "This line has been breaked into`n two lines"

This line has been breaked into

 two lines

`r回车符。会删除该字符之前的整行内容

PS C:\> Write-Host "will be deleted `r others"

 others

`t水平制表符。默认情况下,Powershell每隔7个空格为一个制表符。

PS C:\> "columnA`tcolumnB`tcolumnC"

columnA columnB columnC

`v垂直制表符。 光标前进到下一个垂直制表位并从该处开始写入后面的所有输出。该字符仅影响打印的文档,不影响屏幕输出。

总结

    转义字符指示文本功能在文件路径拼接时会非常用于,不用在输入两个反斜杠(\\),后面还会介绍另外一种方法,可以直接显示文件路径。