转义字符用于对其后的字符给出特殊解释。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能够识别以下特殊字符。
特殊字符 | 说明 | 示例 |
`0 | Null。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 | 垂直制表符。 光标前进到下一个垂直制表位并从该处开始写入后面的所有输出。该字符仅影响打印的文档,不影响屏幕输出。 |
总结
转义字符指示文本功能在文件路径拼接时会非常用于,不用在输入两个反斜杠(\\),后面还会介绍另外一种方法,可以直接显示文件路径。
本文出自 “花开花落” 博客,谢绝转载!
原文:http://020618.blog.51cto.com/6098149/1891614