如何在特定目录中打开 Pandoc 以运行命令行?

如何在特定目录中打开 Pandoc 以运行命令行?

我刚刚安装潘多克在 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
}

相关内容