【发布时间】:2026-01-17 04:15:02
【问题描述】:
我在服务器上有一个名为“servername”的目录。在该目录中,我有名称为日期的子目录。在这些日期目录中,我有大约 150 个 .csv 文件审核日志。 我有一个部分工作的脚本,它从日期目录内部开始,枚举并循环遍历 .csv 并在列中搜索字符串。我试图让它导出每个匹配的行,然后继续下一个文件。
$files = Get-ChildItem '\\servername\volume\dir1\audit\serverbeingaudited\20180525'
ForEach ($file in $files) {
$Result = If (import-csv $file.FullName | Where {$_.'path/from' -like "*01May18.xlsx*"})
{
$result | Export-CSV -Path c:\temp\output.csv -Append}
}
我正在做的是在 'path\from' 列中搜索字符串 - 例如文件名。该列包含的数据总是某种形式的 \folder\folder\folder\filename.xls。我正在搜索特定文件名以及该文件中该列中该文件名的所有实例。
我的问题是导出该行 - export.csv 始终为空。我还想启动一个目录'up'并遍历每个日期目录,解析,导出,然后继续下一个目录和文件。
如果我将其分解为一个文件并将其从 IF 中取出,它似乎会给我一个结果,所以我认为我在 IF 或 For-each 中遇到了问题,但显然这超出了我的工资等级 - 无法弄清楚出来……
提前感谢您的任何帮助, 理查德X
【问题讨论】:
标签: powershell csv