场景
今年的实验日志被我放在这样一个文件夹下,每个月下是每天具体的.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的日志,并返回了它们的路径。