通过批处理命令,将word里面包含书名号《》的内容提取出来,保存在1.txt文件中?

怎样把图片上的带有《》的内容全部从word里面提取出来,保存在1.txt里面,一行一个

可以使用Windows自带的PowerShell来实现这个任务。下面是一个批处理脚本的示例,可以将Word文档中所有包含书名号《》的内容提取出来,并将结果保存在1.txt文件中:
powershell -Command "Get-Content document.docx -Raw | Select-String -Pattern '《.*?》' -AllMatches | Foreach {$_.Matches} | Foreach {$_.Value} | Out-File 1.txt"
其中,document.docx是要处理的Word文档的文件名,您可以根据实际情况进行修改。执行此命令后,PowerShell将读取文档内容,并使用正则表达式匹配所有包含书名号的内容,并将结果保存在1.txt文件中。
温馨提示:答案为网友推荐,仅供参考
第1个回答  2023-03-24

可以使用Windows批处理命令和正则表达式来提取Word文档中的书名号《》内容,并将结果保存到1.txt文件中。具体步骤如下:

    打开Word文档,另存为“txt”格式,保存到某个目录下,例如“C:\test”目录。

    在该目录下新建一个批处理文件,例如“extract.bat”。

    编辑“extract.bat”文件,输入以下命令:


@echo off

setlocal enabledelayedexpansion

for /f "tokens=*" %%a in ('findstr /r "\<《.*》\>" "C:\test\*.txt"') do (

    set line=%%a

    echo !line! >> 1.txt

)

echo "Extraction complete!"


4.保存并关闭“extract.bat”文件。

5.双击运行“extract.bat”文件,等待程序执行完毕。

6.在该目录下将生成一个名为“1.txt”的文件,其中包含所有包含书名号《》的内容。

解释说明:

上述命令使用了“for”循环和“findstr”命令来查找所有包含书名号《》的行,并将其输出到1.txt文件中。其中,“enabledelayedexpansion”命令使得在循环体内可以使用“!变量名!”的方式来引用变量,而“tokens=*”则表示将整个行作为一个字符串处理。

第2个回答  2023-03-24
可以使用以下批处理命令来实现提取Word文档中所有包含书名号《》的内容,并将其保存在1.txt文件中:
```
@echo off
setlocal EnableDelayedExpansion
set "filename=example.docx"
set "output_file=1.txt"
for /f "tokens=*" %%a in ('type "%filename%" ^| find /i "《"') do (
set "text=%%a"
set "text=!text:*《=《!"
set "text=!text:》=》!"
echo !text! >> "%output_file%"
)
echo 内容已提取到 %output_file% 文件中!
pause
```
这个脚本使用了`find`命令来查找所有包含书名号《》的行,并使用`for /f`循环逐行处理。对于每一行,它会提取出书名号之间的文本,并将其保存在一个变量中。然后,它会将该文本写入指定的输出文件中。
需要注意的是,这个脚本默认假设 Word 文档为 `.docx` 格式,并且需要手动设置文件名和输出文件名。如果你的文件格式不同,或者需要更改文件名或输出文件名,请在脚本中进行相应更改。
第3个回答  2023-03-24
假设要匹配的文件为test.docx,可以使用以下批处理命令:@echo off
setlocal EnableDelayedExpansion

set "INPUT=test.docx"
set "OUTPUT=1.txt"

set "TMP=%TEMP%\word.txt"

rem 将word文件转为文本文件
powershell -Command "$word = New-Object -ComObject Word.Application;$word.Visible = $false;$doc = $word.Documents.Open('%INPUT%');$doc.SaveAs('%TMP%', 7);echo $TMP;exit"

rem 在文本文件中匹配书名号内容,并保存到OUTPUT文件中
findstr /r /c:"《.*》" "%TMP%" > "%OUTPUT%"

rem 删除临时文件
del "%TMP%"

echo "Done."
pause

解释如下:1. 设置输入文件INPUT和输出文件OUTPUT的路径。2. 创建一个临时文件TMP,用于存储word转换后的文本内容。3. 使用powershell命令将word文件转为文本文件,保存在TMP中。4. 使用findstr命令在TMP中匹配包含书名号的内容,将结果保存到OUTPUT文件中。5. 删除临时文件TMP。6. 输出完成信息,等待用户按任意键退出
第4个回答  2023-03-24
可以使用以下的批处理命令实现将Word文档中包含书名号《》的内容提取出来并保存在1.txt文件中:
@echo off
setlocal
set INPUT_FILE="your_word_file.docx"
set OUTPUT_FILE="1.txt"
set SEARCH_PATTERN="《*》"
for /f "tokens=*" %%a in ('findstr /r %SEARCH_PATTERN% %INPUT_FILE%') do (
echo %%a >> %OUTPUT_FILE%
)
echo "Extraction complete"
其中,需要将 your_word_file.docx 替换为实际的Word文档文件名,将 1.txt 替换为期望保存提取结果的文件名。另外,可以调整 SEARCH_PATTERN 变量的值以匹配特定书名号《》的格式。
如果要提取图片中包含书名号《》的内容,可以通过先将图片转换成文本的方式来实现。具体可以使用以下步骤:
将图片复制到一个新的Word文档中。
在Word文档中将图片转换成文本,具体方法是:右键点击图片,选择“图片格式”,在弹出的“图片格式”对话框中选择“布局和属性”选项卡,勾选“通过文本排列”,然后点击“OK”。
应用上面提供的批处理命令,将文本中包含书名号《》的内容提取出来并保存为1.txt文件。
需要注意的是,这种方式提取出来的内容可能包含其他不需要的信息,需要手动进行筛选和清理。