type-conversion - 在所有子目录中运行 Powershell 命令
问题描述
我有一个运行“pandoc”的简短 Powershell 命令,它将 Word .docx 文件转换为 Markdown .md 文件。它可以正常工作,但有两个例外:它只会处理顶级文件夹中的 docx 文件,当它从 docx 文件中提取图像时,它会将图像保存在名为“media”的文件夹中,格式为 image1.png、image2。 png 等。每个被处理的 docx 文件都会保存同名的图像,因此之前的图像将被后面处理的 docx 文件中的图像覆盖。
我想修改这个命令或创建一个脚本来处理所有的 docx 文件,即使是在子目录中,也可以做一些提取的图像重命名,这样图像就不会被覆盖。
这是所需输入和输出的示例。
输入:
- 主文件夹
- 文档1.docx
- 文档2.docx
- 子文件夹 A
- 文档1.docx
- 文档2.docx
- 子文件夹 B
- 文档1.docx
- 文档2.docx
输出:
- 主文件夹
- 文档1.md
- 文档1-image1.png
- document1-image2.png
- 文档2.md
- document2-image1.png
- document2-image2.png
- 子文件夹 A
- 文档1.md
- 文档1-image1.png
- document1-image2.png
- 文档2.md
- document2-image1.png
- document2-image2.png
- 子文件夹 B
- 文档1.md
- 文档1-image1.png
- document1-image2.png
- 文档2.md
- document2-image1.png
- document2-image2.png
这是我现在拥有的代码:
Get-ChildItem . -Filter *.docx | Foreach-Object {pandoc --from docx --to markdown --extract-media= --wrap=none $_ -o $_.Name.Replace('.docx', '.md')}
解决方案
推荐阅读
- .net - .Net 中的 WebAuthN 和 BouncyCastle
- sql - Visual Studio Code - SQL 结果列宽
- python - 使用 CVXOPT 与 Scipy 最大化优化
- javascript - 重新排列数组中对象的结构
- node.js - 节点js中没有来自表单的请求
- c# - 从 ObservableCollection 过滤数据以填充 DataGrid
- javascript - Plotly PyQt:获取相机视图属性
- reactjs - 在无状态函数中包装的 Bootstrap 组件的道具使用什么类型?
- c++ - 在 std::tie 中使用 std::weak_ptr::lock()
- database - 如何查询 mongoose 中数组长度最大的条目?