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
我在做什么错?
如果我生成一个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
我在做什么错?
$x
是与c:\temp\test.txt
值的字符串 - 因为没有换行符的字符串c:\temp\test.txt
中,Contains()
回报$false
。
要查看是否有文件中的任何换行符,与Get-Content -Raw
检索它的内容作为一个大的多行字符串:
(Get-Content $x -Raw).Contains("`n")
你好, 谢谢你所有的答案! @Matthias:我试过了你的命令,但是我收到一条错误消息。参数-Raw是未知的。 – dki
您正在测试*文件名*而不是内容。 –
仅供参考'-Contains'用于测试一个数组是否包含一个对象,并且不会使用字符串。你需要使用'-Like',例如:'if($ string -like“* blah *”){#do stuff}' –