Powershell写入控制台

Powershell写入控制台,powershell,console,Powershell,Console,我正在尝试在控制台上写入错误编号和消息。我正在使用以下代码: $dir = "d:\logs\prov\" $latest = Get-ChildItem -PAth $dir | Sort-Object LastAccessTime -Descending | Select-Object -First 1 $eCounter = get-content $dir$latest | select-string "ERROR" $eCounter.Coun

我正在尝试在控制台上写入错误编号和消息。我正在使用以下代码:

    $dir = "d:\logs\prov\"
    $latest = Get-ChildItem -PAth $dir | Sort-Object LastAccessTime -Descending |      Select-Object -First 1
    $eCounter = get-content $dir$latest | select-string "ERROR"
    $eCounter.Count
    $eText = "There are " + $eCounter.Count + " errors returned"

    if ($eCounter.count -gt 0)
    {
      $eCounter.Count
      $eText    
    }
正如代码所示,它查找文件夹以查找最新的日志文件,计算“错误”条目的数量,并将其与消息一起写入控制台。问题是结果是写了三行(如下所示),而不是两行。这个数字写了两次,原因我搞不懂。我需要它写一次

五,

五,


返回了5个错误

老实说,很明显

$dir = "d:\logs\prov\"
$latest = Get-ChildItem -PAth $dir | Sort-Object LastAccessTime -Descending |      Select-Object -First 1
$eCounter = get-content $dir$latest | select-string "ERROR"

### LINE 1 (Number only)
$eCounter.Count

$eText = "There are " + $eCounter.Count + " errors returned"

if ($eCounter.count -gt 0)
{
### LINE 2 (Number only)
    $eCounter.Count
### LINE 3 (Full text)      
    $eText    
}

如果只需要“返回了…个错误”一行,则删除两行
$eCounter.count
行。

将行$eText更改为以下内容,并查看结果是否更改:

$eText = "There are " + [string]$eCounter.Count + " errors returned"

问题是计数是一个整数,因此不能正确地将其追加到字符串中。我说的话无论如何都是错的。也许我对OP的态度太强硬了,但我投了反对票,原因如下:这些问题显示我几乎没有努力。这个号码被贴了三次,在三个不同的地方,唯一使用的一行是什么?很明显,你不应该在不展示你自己尝试过的东西的情况下提问。在小范围内(