我刚刚安装潘多克在 Windows10 上。我有几个.docx文件夹中的文件 (D:\DE SCANAT\Docx)并且我想将它们(批量)转换为。TXT
我必须为此使用此行命令:
for i in *.docx ; do echo "$i" && pandoc -s --wrap=none $i -o $i.txt ; done
我的问题:该把那行放在哪里,因为我无法像使用 CMD 那样在该文件夹中打开 Pandoc。?
有人能告诉我如何使用该行来更改文件夹中的文件吗?
此外,如果我使用 Powershell 命令行,我会收到此错误:
At line:1 char:4
+ for i in *.docx ; do echo "$i" && pandoc -s --wrap=none $i -o $i.txt ...
+ ~
Missing opening '(' after keyword 'for'.
At line:1 char:21
+ for i in *.docx ; do echo "$i" && pandoc -s --wrap=none $i -o $i.txt ...
+ ~
Missing statement body in do loop.
At line:1 char:32
+ for i in *.docx ; do echo "$i" && pandoc -s --wrap=none $i -o $i.txt ...
+ ~~
The token '&&' is not a valid statement separator in this version.
+ CategoryInfo : ParserError: (:) [], ParentContainsErrorRecordException
+ FullyQualifiedErrorId : MissingOpenParenthesisAfterKeyword
答案1
首先,您提供的命令似乎是使用 Unix 样式循环的 shell 脚本。因此,此命令仅适用于 Unix,而不适用于 Windows10:
for i in *.docx ; do echo "$i" && pandoc -s --wrap=none $i -o $i.txt ; done
如果您想在 Windows10 上转换,请按照以下简单步骤操作:
1.打开 Powershell
使用此命令,进入包含文件的文件夹:
cd 'D:\DE SCANAT\Docx\'
2. 之后,只需复制并粘贴此命令。然后等待一会儿即可完成转换。这取决于 .docx 文件的大小。
$docxFiles = Get-ChildItem -Filter "*.docx"
foreach ($file in $docxFiles) {
$txtFile = [System.IO.Path]::ChangeExtension($file.FullName, ".txt")
& pandoc -s $file.FullName -t plain -o $txtFile
}