尝试获取此代码段,发现对我有用。我需要检查一个文件夹,看看是否有文件。如果是这样,请仔细检查每一行并检查是否至少存在一行数据(标题除外)。有人帮我吗?不知道如何读取文件,然后检查行。或通过其他任何方式实现这一目标?
$csvData = Import-Csv "C:\Users\MG\Desktop\ScanFolder"
{
foreach($dataRow in $csvdata){
$result = #dosomething}
if($result ){
Write-Host "Data Exists"
}
else{
Write-Host "Empty"
}
}}
答案 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"
}
}