Powershell - 检查 csv 行是否有数据

Powershell - check if csv row has data

尝试获取我发现对我有用的代码片段。我需要检查一个文件夹,看看是否有任何文件。如果是这样,遍历每一个并检查是否至少存在一行数据(不包括 headers)。有人帮帮我吗?不确定如何读取文件然后检查行。或任何其他方式来实现这一目标?

$csvData = Import-Csv "C:\Users\MG\Desktop\ScanFolder"                       
{
foreach($dataRow in $csvdata){
    $result = #dosomething} 
    if($result ){
        Write-Host "Data Exists"
    }
    else{
        Write-Host "Empty"
    }
}}

如果您 Import-CSV 一个只有 header 记录的 CSV 文件,它将成功,但结果将是一个长度为零的数组。根据你的要求,你应该可以做类似

的事情
$csvpath = "C:\CSVFiles"
ForEach ($file in (Get-ChildItem $csvpath)) {
    If ((Import-CSV $file).length -eq 0) {
        Write-Host "$file has no data"
    }
}