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的日志,并返回了它们的路径。

相关推荐
洛豳枭薰2 小时前
List梳理
数据结构·windows·list
东木月2 小时前
使用python获取Windows产品标签
开发语言·windows·python
小范馆5 小时前
解决 Windows 11 安装时提示 “不支持 TPM 2.0” 和 “不支持安全启动” 的问题
windows·安全
还下着雨ZG5 小时前
【Window技能 01】每天自动关机:使用CMD脚本+任务计划程序实现每天定时关闭计算机
windows
洛水如云5 小时前
重塑数据管理逻辑!文件夹同步的实用指南(含工具选型 + 实操步骤)
windows·microsoft·电脑
石像鬼₧魂石5 小时前
windows系统139/tcp与445/tcp端口渗透完整流程闭环(复习总结)
windows·网络协议·tcp/ip
BD_Marathon7 小时前
MyBatis——封装SqlSessionUtils工具类并测试功能
java·windows·mybatis
洛水如云8 小时前
笔记本数据迁移新电脑:从备份到实操的高效指南(适用于台式机)
windows·microsoft·电脑
vortex58 小时前
Windows SeBackupPrivilege 与 SeRestorePrivilege 特权利用
windows
佑白雪乐8 小时前
<Python基础第2集>速通list+tuple+string+序列+set+dict容器
windows·python·list