win10脚本 | 使用 Word 自动化对象模型找出指定路径下含有特定内容的.docx

场景

今年的实验日志被我放在这样一个文件夹下,每个月下是每天具体的.docx文件,里面记录了我的一些实验操作步骤。现在我需要补充一个实验,用到一个名为chatunitest的插件,但是这是很久之前做的事情了,我无法判断是哪个月哪一天。所以我需要一个能够在powershell中执行的脚本,帮助我找到日志,复用之前的操作步骤。

脚本

执行条件:安装了word就行

$directoryPath = "C:\实验日志\2023"
$searchKeyword = "chatunitest"
$word = New-Object -ComObject Word.Application
$word.Visible = $false

Get-ChildItem -Path $directoryPath -Recurse -Filter *.docx | ForEach-Object {
    $document = $word.Documents.Open($_.FullName)
    $text = $document.Range().Text
    $document.Close()

    if ($text -match $searchKeyword) {
        Write-Output "Found in file: $($_.FullName)"
    }
}

$word.Quit()

执行结果

成功找了包含chatunitest的日志,并返回了它们的路径。

最近更新

  1. TCP协议是安全的吗?

    2023-12-12 07:42:03       18 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2023-12-12 07:42:03       19 阅读
  3. 【Python教程】压缩PDF文件大小

    2023-12-12 07:42:03       18 阅读
  4. 通过文章id递归查询所有评论(xml)

    2023-12-12 07:42:03       20 阅读

热门阅读

  1. uniapp flex:1不生效

    2023-12-12 07:42:03       35 阅读
  2. 什么是rocketmq❓

    2023-12-12 07:42:03       34 阅读
  3. Python从门到精通(九):numpy科学计算库

    2023-12-12 07:42:03       42 阅读
  4. Python中求取数字位数的方法

    2023-12-12 07:42:03       33 阅读
  5. 线上问题得解决

    2023-12-12 07:42:03       39 阅读
  6. Spring-xml版本

    2023-12-12 07:42:03       44 阅读
  7. Mysql mybatis 语法示例

    2023-12-12 07:42:03       41 阅读