2015-09-08 58 views
0

如果我生成一个Out-File的文本文件,其中有`n,我想证明是否有`n,结果总是FALSE。

下面是代码:

$x="c:\temp\test.txt" 
"`n" | Out-File $x 
$x.contains("`n") #False 

$x -contains "`n" #False 

$x -match "`n" #False 

我在做什么错?

+4

您正在测试*文件名*而不是内容。 –

+0

仅供参考'-Contains'用于测试一个数组是否包含一个对象,并且不会使用字符串。你需要使用'-Like',例如:'if($ string -like“* blah *”){#do stuff}' –

回答

2

$x是与c:\temp\test.txt值的字符串 - 因为没有换行符的字符串c:\temp\test.txt中,Contains()回报$false

要查看是否有文件中的任何换行符,与Get-Content -Raw检索它的内容作为一个大的多行字符串:

(Get-Content $x -Raw).Contains("`n") 
+0

你好, 谢谢你所有的答案! @Matthias:我试过了你的命令,但是我收到一条错误消息。参数-Raw是未知的。 – dki

相关问题