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

场景

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

脚本

执行条件:安装了word就行

bash 复制代码
$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的日志,并返回了它们的路径。

相关推荐
JiaJunRun35 分钟前
Java集合体系结构面试题
java·开发语言·windows·学习·安全
soumns丶涛2 小时前
“conda”不是内部或外部命令,也不是可运行的程序或批处理文件
windows·python·jupyter·conda
waicsdn_haha3 小时前
Eclipse IDE 2025-03 最新版安装教程(官方下载+环境配置详解)
java·linux·开发语言·ide·windows·fpga开发·eclipse
丁总学Java14 小时前
Cannot deserialize instance of java.lang.String out of START_ARRAY token
java·windows·python
魔道不误砍柴功17 小时前
Java中的Stream API:从入门到实战
java·windows·python
普世的微光19 小时前
ue----git局域网内部署裸仓库,别的机器进行访问
windows·git
丶只有影子20 小时前
【Nacos】从零开始启动Nacos服务(windows/linux)
linux·运维·windows·微服务·springcloud
Gazer_S20 小时前
【Windows系统node_modules删除失败(EPERM)问题解析与应对方案】
前端·javascript·windows
CHANG_THE_WORLD21 小时前
Windows获取字体文件
windows·stm32·单片机
东木月21 小时前
windows安装pytorch
人工智能·pytorch·windows