先谢谢你的帮助。
我有一个包含多个CSV文件的文件夹。我希望能够提取每个文件的第一行,并将结果存储在单独的CSV文件中。新创建的CSV文件将以第一列作为文件名,以第二列作为文件的第一行。输出应如下所示(作为导出的CSV文件):
FileName,FirstLine
FileName1,Col1,Col2,Col3
FileName2,Col1,Col2,Col3
注:
还有其他文件应该被忽略。我想代码循环通过所有CSV文件匹配的名称模式。我能够找到文件使用以下代码:
$targetDir ="C:\CSV_Testing\"
Get-ChildItem -Path $targetDir -Recurse -Filter "em*"
我还可以用下面的代码读取一个文件的第一行:
Get-Content C: \CSV_Testing\testing.csv | Select -First 1
我想我只是需要有人来帮助循环通过文件和导出结果。有人能帮助吗?谢谢
1条答案
按热度按时间gab6jxml1#
你基本上需要一个循环,来枚举每个文件,为此你可以使用
ForEach-Object
,然后构造你需要示例化新对象的输出,因为[pscustomobject]
是最简单的选择,然后Export-Csv
将这些对象转换成CSV。我假设文件实际上有
.Csv
扩展名,因此将过滤器更改为-Filter "em*.csv"
,如果不是这样,您可以使用过滤器,因为您目前有它。