如何用PowerShell将文件搜索结果导出至CSV及批量导出?
PowerShell 文件搜索导出问题解决方案
1. 将JPG文件路径导出为CSV文件
原来的命令直接输出FullName字符串到TXT,要转CSV的话,得把路径包装成对象属性(因为Export-Csv需要处理对象而非纯字符串),最简单的写法是通过管道传递对象并指定要导出的属性:
Get-ChildItem -Filter *.jpg -Recurse | Select-Object FullName | Export-Csv 'AllJPG.csv' -NoTypeInformation -UseCulture
如果想保留你习惯的简写括号写法,也可以改成:
(gci -filter *.jpg -recurse) | Select-Object FullName | Export-Csv 'AllJPG.csv' -NoTypeInformation -UseCulture
注意:别直接把(gci ...).FullName传给Export-Csv,这会得到纯字符串数组,Export-Csv会错误导出字符串的Length属性而非文件路径。
2. 批量搜索多类型文件并分别导出CSV
可以通过循环遍历目标扩展名数组,自动生成对应文件名并执行导出,不用手动重复命令:
# 定义要处理的文件扩展名数组 $targetExts = @('.jpg', '.doc', '.xls') foreach ($ext in $targetExts) { # 生成输出文件名,比如 .jpg 对应 AllJPG.csv $outputFileName = "All$($ext.TrimStart('.').ToUpper()).csv" # 搜索并导出 Get-ChildItem -Filter "*$ext" -Recurse | Select-Object FullName | Export-Csv $outputFileName -NoTypeInformation -UseCulture }
这段代码会自动为每个扩展名生成独立的CSV文件,比如AllJPG.csv、AllDOC.csv、AllXLS.csv,分别对应各自类型的文件完整路径。
内容的提问来源于stack exchange,提问作者ILoveMadoka
相关产品推荐
相关产品推荐

