我的get-content cmdlet出了问题,我不明白为什么它会这样做。我相信有人可以帮助我。
我有两个文本文件。 $ file1和$ file2。这两个文件都有内容。我按如下方式阅读:
$content = get-content $File1
$content = $content + (Get-Content $File2)
现在假设,$ file1有3行,$ file2有4行。 echo $ conent给我看了7行。好。 让我们说$ file1有1行,$ file2有3行。 echo $ conent给我看了4行。也很好。
但是,当我做的时候
foreach ($i in $content)
它变得非常有趣。在示例1中,foreach循环运行7次。在示例2中,foreach循环仅运行一次。它确实将两个文件的所有行同时放在$ i中。
$ file2中有多少行并不重要但是如果$ File1中有零或一行,则foreach认为只有一行。
编辑:当我向$ file1添加空白行时,一切都顺利进行。
答案 0 :(得分:0)
@Matt在评论中解决了这个问题。
读取第一个文件的正确代码是:$content = @(get-content $File1)