Powershell-检查csv行中是否有数据

时间:2018-06-19 13:52:45

标签: powershell powershell-v4.0

尝试获取此代码段,发现对我有用。我需要检查一个文件夹,看看是否有文件。如果是这样,请仔细检查每一行并检查是否至少存在一行数据(标题除外)。有人帮我吗?不知道如何读取文件,然后检查行。或通过其他任何方式实现这一目标?

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

1 个答案:

答案 0 :(得分:2)

如果您Import-CSV仅包含标头记录的CSV文件,它将成功,但是结果将是长度为零的数组。根据您的请求,您应该可以执行类似的操作

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