.powershell中的匹配项不返回任何结果

.powershell中的匹配项不返回任何结果,powershell,Powershell,我正在编写一个基于上的加密脚本的脚本。基本上我想得到文本文件中所有字母的频率。在本例中,他使用Here字符串存储值,但我想使用Get Content。这是故障 此代码有效 PS c:\$foobar = @" foo bar "@ PS c:\$foobar | Select-String -AllMatches "[A-Z]").matches 它返回适当的值。但是,如果我有一个包含完全

我正在编写一个基于上的加密脚本的脚本。基本上我想得到文本文件中所有字母的频率。在本例中,他使用Here字符串存储值,但我想使用Get Content。这是故障

此代码有效

PS c:\$foobar = @"
                  foo
                  bar
                "@
PS c:\$foobar | Select-String -AllMatches "[A-Z]").matches 
它返回适当的值。但是,如果我有一个包含完全相同信息的文本文件,则返回一个空值

PS c:\$text = Get-Content "foobar.txt"
PS c:\$text | Select-String -AllMatches "[A-Z]").matches
一无所获


有人知道为什么Here字符串可以工作但不能获取内容吗?

Here字符串被视为一个字符串,而Get Content则是一个字符串集合。您可以通过管道将filoe内容传输到Out-String cmdlet:

(get-content file.txt | out-string | Select-String -AllMatches "[A-Z]").matches