【发布时间】:2014-03-14 16:17:06
【问题描述】:
首先,我是 PowerShell 的新手,并且用许多不同的语言编写过代码。我的大部分经验来自 java,所以通常我从那个背景格式化我的代码,所以如果它看起来很疯狂,我很抱歉。
我正在尝试制作一个可以针对 CSV 运行的脚本,该脚本会将每个对象加载到一个数组中。然后,我想检查每个对象以确保它附有电子邮件地址、名字和姓氏。我们目前正在手动删除无效条目。
我正在使用以下代码。我正在尝试导入 CSV。我想读取数组中的每个元素并删除不符合我的条件的条目,然后我想将其导出到 CSV。我对数组中的对象是什么样子感到困惑,如何检查每个对象中的信息是否为空。任何关于逻辑的帮助都会很好。 CSV 有下面列出的标题,但我只关心上面列出的一次。谢谢, ' $csv = Read-Host "输入 CSV 文件路径"
$CsvArray = Import-Csv $csv -Header Lastname,Firstname,Department,Phonenumber,Email
foreach ($i in $CsvArray)
{
Write-Host $CsvArray($i)
if(Lastname -eq $NULL) -or (firstname -eq $NULL) -or (Email -eq $NULL)
{
Delete $i from array
}
else
{
$i
}
}
$csvArray | Export-Csv c:\emaillist.txt -force
Write-Host "Press any key to continue ..."
$x = $host.UI.RawUI.ReadKey("NoEcho,IncludeKeyDown")
`
【问题讨论】:
标签: arrays powershell csv