Powershell设置内容添加隐藏字符

时间:2015-01-12 06:09:47

标签: powershell

以下情景:

Set-Content $healthStatusFileName "a 'r'n a"  
$previousHealthStatus=$(Get-Content $healthStatusFileName )  
$errorMessage = "a 'r'n a" 


If ($previousHealthStatus -eq $errorMessage)

现在由于某种原因,if语句总是返回false,为什么?只有在字符串中有回车换行符时才会发生这种情况。 另外,在If之前执行此操作并没有帮助:

$previousHealthStatus = $previousHealthStatus -replace "'t|'n|'r",""
$errorMessage = $errorMessage -replace "'t|'n|'r",""

1 个答案:

答案 0 :(得分:0)

Get-Content返回一个数组,因此您要将字符串与数组进行比较。使用

加入数组
`r`n

所以你得到了相当于你的初始字符串。

Set-Content $healthStatusFileName "a `r`n a"  
$previousHealthStatus=$(Get-Content $healthStatusFileName ) -join "`r`n"
$errorMessage = "a `r`n a" 
($previousHealthStatus -eq $errorMessage)

结果是:

True