You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何用Powershell查找含指定字符串的docx文件并导出路径到CSV

PowerShell筛选docx并导出路径到CSV实现方案

完整修改后代码

# 初始化Word COM对象
$Word = New-Object -ComObject Word.Application
$Word.Visible = $False

# 定义配置参数,可根据需求修改
$searchRoot = "C:\test\test1\Desktop\Pictures" # 搜索根目录
$keyword = "test" # 要匹配的关键词
$exportCsvPath = "C:\temp\matched_docx.csv" # CSV导出路径

# 存储匹配结果的数组
$matchedFileList = @()

# 递归遍历所有docx文件
Get-ChildItem -Path $searchRoot -Recurse -File -Filter "*.docx" | ForEach-Object {
    $currentFilePath = $_.FullName
    # 只读模式打开文档避免占用
    $document = $Word.Documents.Open($currentFilePath, $false, $true)
    $docContent = $document.Content.Text

    # 内容匹配判断
    if ($docContent -like "*$keyword*") {
        $matchedFileList += [PSCustomObject]@{
            完整文件路径 = $currentFilePath
        }
    }

    $document.Close($false)
}

# 导出结果到CSV
$matchedFileList | Export-Csv -Path $exportCsvPath -Encoding UTF8 -NoTypeInformation

# 清理Word COM对象,避免后台残留进程
$Word.Quit()
[System.Runtime.Interopservices.Marshal]::ReleaseComObject($Word) | Out-Null
Remove-Variable Word

关键改动说明

  • 把可修改的配置项单独抽离到代码顶部,无需修改业务逻辑即可调整参数
  • 新增数组存储所有匹配到的文件路径,封装为自定义对象后导出的CSV自带表头,无需额外调整格式
  • 新增Export-Csv导出逻辑,指定UTF8编码避免中文路径/文件名乱码,-NoTypeInformation参数删除CSV文件首行多余的类型标识
  • 新增COM对象释放逻辑,避免Word进程后台驻留占用系统资源、锁定文档

提示:如果不需要中文表头,把完整文件路径改为英文字段名即可,匹配规则支持通配符调整。

内容的提问来源于stack exchange,提问作者Steve Mason

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.03 07:36:05