文件外仅打印我一半的结果

时间:2018-08-08 20:20:18

标签: powershell csv split save

我目前有一个CSV文件,其中包含2,440行数据。数据看起来像:

server1:NT:Y:N:N:00:N
server2:NT:Y:N:n:33:N

这是我到目前为止所拥有的:

$newCsvPath = Get-Content .\sever.csv |
              Where-Object { $_ -notmatch '^#|^$|^"#' } 

[int]$windows = 0
[int]$totalsever = 0
$Results = @()

$date = Get-Date -Format g

Clear-Content .\results.csv -Force

foreach ($thing in $newCsvPath) {
    $totalsever++
    $split = $thing -split ":"
    if ($split[1] -contains "NT") { 
        $windows++
        $thing | Out-File results.csv -Append -Force
    } else {
        continue
    }
}

Clear-Content .\real.csv -Force
$servers = Get-Content results.csv
foreach ($server in $servers) {
    $server.Split(':')[0] | Out-File real.csv -Append -Force
}

我的问题是,当脚本进入$server.Split(':')[0] | Out-File real.csv -Append -Force部分时,由于某种原因,它仅输出1,264行,而不是全部输出到“ real.csv”的2,440行。但是,当我删除| Out-File real.csv -Append -Force时,$server会存储所有2,400个服务器名称。

有人知道为什么会这样吗?

0 个答案:

没有答案