8

我正在尝试在 Windows 中使用 Pandoc 将大量 HTML 文件转换为 Markdown,并找到了有关如何在 Mac 上执行此操作的答案,但在尝试在 Windows PowerShell 中运行以下内容时收到错误。

find . -name \*.md -type f -exec pandoc -o {}.txt {} \;

有人可以帮我把它翻译成在 Windows 中工作吗?

4

6 回答 6

8

递归转换文件夹中的文件试试这个(Windows提示命令行):

for /r "startfolder" %i in (*.htm *.html) do pandoc -f html -t markdown "%~fi" -o "%~dpni.txt"

为了在批处理文件中使用,请将%.

于 2013-06-17T22:25:51.077 回答
1
  • 这里的大多数答案(for ...解决方案)都是针对PowerShell 的cmd.exe,而不是针对 PowerShell 的。
  • mb21 的答案在正确的轨道上,但在针对每个输入文件方面存在错误;此外,很难直观地解析。

功能等效的PowerShell命令是:

Get-ChildItem -File -Recurse -Filter *.md | ForEach-Object {
  pandoc -o ($_.FullName + '.txt') $_.FullName
}
于 2020-01-10T16:52:28.010 回答
0

使用 powershell 内置gci

gci -r -i *.md |foreach{$docx=$_.directoryname+"\"+$_.basename+".docx";pandoc $_.name -o $docx}

来自https://github.com/jgm/pandoc/issues/5429

于 2019-04-05T07:19:49.767 回答
0

如果您想递归地通过一个目录及其子目录来编译所有类型的文件,例如*.md,那么您可以使用我在回答另一个问题时编写的批处理文件如何对 Windows 中文件夹中的所有文件使用 pandoc ? . 我叫它,pancompile.bat用法如下。转到代码的另一个答案。

Usage: pancompile DIRECTORY FILENAME [filemask] ["options"]
Uses pandoc to compile all documents in specified directory and subdirectories to a single output document

DIRECTORY         the directory/folder to parse recursively (passed to pandoc -s);
                  use quotation marks if there are spaces in the directory name
FILENAME          the output file (passed to pandoc -o); use quotation marks if spaces
filemask          an optional file mask/filter, e.g. *.md; leave blank for all files
"options"         optional list of pandoc commands (must be in quotation marks)

Minimal example: pancompile docs complete_book.docx
Typical example: pancompile "My Documents" "Complete Book.docx" *.md "-f markdown -t docx --standalone --toc"
于 2018-10-18T23:31:03.050 回答
0

我创建了一个 python 脚本,我一直在使用它来将 markdown 文件树转换为单个输出文件。它在 github 上可用:

https://github.com/andrewrproper/pandoc-folder

于 2021-09-15T22:26:32.373 回答
0

Endoro 的回答很棒,不要被添加到%i.

为了帮助他人,我需要将 RST(重组文本)转换为 dokuwiki 语法,所以我创建了一个convert.bat

FOR /r "startfolder" %%i IN (*.rst) DO pandoc -f rst -t dokuwiki "%%~fi" -o "%%~dpni.txt"

适用于文件夹和子文件夹中的所有 rst 文件。

于 2016-05-13T11:19:03.867 回答