You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Windows10下如何在指定目录使用Pandoc批量转换docx文件为txt文件

Windows10下如何在指定目录使用Pandoc批量转换docx文件为txt文件

嗨,我来帮你搞定这个问题~你遇到的报错是因为那条命令是Linux/macOS系统里Bash终端的语法,Windows的PowerShell/CMD不识别这种写法,咱们换用Windows对应的命令就可以了,具体操作分两种方式:

方法一:使用PowerShell操作

  1. 打开PowerShell:按下Win+R,输入powershell回车即可。
  2. 切换到目标文件夹:在PowerShell里输入下面的命令,回车进入你的docx文件所在目录:
cd "D:\DE SCANAT\Docx"
  1. 执行批量转换命令:复制下面的代码粘贴到PowerShell里,回车运行就会开始批量转换了:
Get-ChildItem -Filter *.docx | ForEach-Object {
    Write-Host "正在转换文件: $($_.Name)"
    pandoc -s --wrap=none $_.FullName -o "$($_.BaseName).txt"
}

这个命令会逐个处理目录里的docx文件,并且输出的txt文件名是原文件名.txt(不会像你原来的命令那样生成原文件名.docx.txt这种带双重后缀的文件)。

方法二:使用CMD命令提示符操作

  1. 打开CMD:按下Win+R,输入cmd回车。
  2. 切换到目标文件夹:输入下面的命令回车:
cd "D:\DE SCANAT\Docx"
  1. 执行批量转换命令:复制下面的代码粘贴到CMD里回车:
for %i in (*.docx) do (
    echo 正在转换文件: %i
    pandoc -s --wrap=none "%i" -o "%~ni.txt"
)

这里的%~ni是CMD里用来提取不带扩展名的文件名的写法,同样能保证输出的是正确的txt文件名。

另外补充一下:如果你电脑上装了Git Bash(装Git的时候默认会带),也可以打开Git Bash,切换到目标目录后直接用你原来的那条命令,不过需要调整输出文件名避免双重后缀:

for i in *.docx ; do echo "$i" && pandoc -s --wrap=none $i -o ${i%.docx}.txt ; done

备注:内容来源于stack exchange,提问作者Hellena Crainicu

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.04.22 10:32:58