使用bat批量获取WORD中包含对应字符的段落,段落使用回车换行

get_word_paragraphs.vbs

复制代码
' 获取命令行参数
If WScript.Arguments.Count = 0 Then
    WScript.Quit 1
End If

' 获取 Word 文档路径
docPath = WScript.Arguments(0)

' 创建 Word 应用程序对象
Set objWord = CreateObject("Word.Application")
objWord.Visible = False

' 打开 Word 文档
On Error Resume Next
Set objDoc = objWord.Documents.Open(docPath)
If Err.Number <> 0 Then
    WScript.Echo "无法打开文档: " & docPath
    objWord.Quit
    WScript.Quit 1
End If
On Error GoTo 0

' 查找!!!和 AAAA 所在的段落
Dim foundParagraphs
Set foundParagraphs = CreateObject("Scripting.Dictionary")

Dim paraIndex
paraIndex = 1 ' 初始化段落索引计数器

For Each para In objDoc.Paragraphs
    paraText = Trim(para.Range.Text) ' 去除首尾空白字符
    If InStr(paraText, "!!!") > 0 Or InStr(paraText, "AAAA") > 0 Then
        foundParagraphs.Add paraIndex, paraText
    End If
    paraIndex = paraIndex + 1 ' 计数器加 1
Next

' 关闭文档和 Word 应用程序
objDoc.Close
objWord.Quit

' 输出文档路径和找到的段落
If foundParagraphs.Count > 0 Then
    For Each key In foundParagraphs.Keys
		WScript.Echo foundParagraphs(key)
    Next
Else
End If

bat文件

复制代码
@echo off
chcp 65001 
setlocal enabledelayedexpansion

REM 指定要处理的Word文档所在的目录
set "sourceDir=C:\Users\Admin\Desktop\文档"

REM 指定输出结果的文本文件
set "outputFile=word_paragraphs_result.txt"

REM 如果输出文件已存在,先删除它
if exist "%outputFile%" del "%outputFile%"
set /p="[" <nul
REM 遍历指定目录下的所有Word文档
for %%f in ("%sourceDir%\*.docx" "%sourceDir%\*.doc") do (
    REM 调用VBScript脚本处理每个文档,并将结果追加到输出文件中
    cscript //nologo get_word_paragraphs.vbs "%%f" >> "%outputFile%"
	set /p="." <nul
)
echo ]
echo 处理完成,结果保存在 %outputFile%
pause>nul
endlocal

查找的是包含!!!和AAAA的段落,段落使用回车分段,需要安装MS-OFFICE 2007及以上版本,点击bat运行即可

相关推荐
山沐与山几秒前
【Go】Go环境搭建与第一个程序
开发语言·后端·golang
什么都不会的Tristan2 分钟前
MybatisPlus-快速入门
java·开发语言
lixzest4 分钟前
C++应用开发转到大模型应用开发路径
开发语言·c++·人工智能·python
Wpa.wk11 分钟前
接口自动化测试 - REST-assure小练习(Java版-分层)
java·开发语言·经验分享·python·自动化·接口自动化·po
张人玉11 分钟前
C#WPF页面布局及其属性
开发语言·c#·wpf
_OP_CHEN12 分钟前
【从零开始的Qt开发指南】(十七)Qt 事件详解:按键与鼠标事件的全方位实战指南
开发语言·c++·qt·前端开发·qt事件·客户端开发·gui开发
qq_124987075312 分钟前
基于Java的游泳馆管理系统(源码+论文+部署+安装)
java·开发语言·毕业设计·springboot·计算机毕业设计
superman超哥13 分钟前
Rust 多重借用的冲突解决方案:突破借用检查的实践策略
开发语言·后端·rust·多重借用·冲突解决方案·借用检查
半夏知半秋13 分钟前
rust学习-生命周期
开发语言·笔记·后端·学习·rust
superman超哥13 分钟前
Rust 高阶 Trait 边界(HRTB)中的生命周期:超越具体生命周期的抽象
开发语言·后端·rust·生命周期·rust生命周期·rust高阶trait边界·hrtb