![]() |
1
xinge666 1 天前 via iPhone
|
2
Leibniz007 1 天前 ![]() libreoffice 可以,有 cli ,配合 find 或者 ls 管道跑就行
|
![]() |
3
liangdi 1 天前
安装 libreoffice
参考命令, 我本机测试 ok ```bash libreoffice --headless --convert-to doc --outdir ./out *.docx ``` |
5
lllsj OP @Leibniz007 #2 嗯嗯,我试一下
|
![]() |
7
ysc3839 1 天前 via Android
Windows 下可以调用 Office 另存为,WPS 估计也行。其他系统比较尴尬。
|
![]() |
11
lqw3030 1 天前
java 可以用 poi 库进行转换
|
12
yanqiyu 1 天前
windows 上 word 的大部分功能应该可以用 PowerShell 操作,写个脚本调用 headless 的 word 来打开文档并另存为就可以了。
这一点上 PowerShell 的面向对象特征让它行为特别像正儿八经的编程语言,不得不说虽然语法难看但是确实炫酷 |
![]() |
13
kkocdko 1 天前 ![]() 用自带的 VBA 转。最好是用 MS Office ,用别的可能会出现细微的格式变动问题。虽然这个格式变动谁都没法保证,但是 MS Office 自己给自己转应该是最稳定的了。
见我的博客 : https://kkocdko.site/post/201806261915 。按照代码里的注释替换一下就行,例如输入改成 docx ,输出改成 0 ( doc )这样。 |
14
fyq 1 天前
楼上正解,让 AI 给你写一个 VBA 脚本,执行就行
|
15
evejwp 1 天前
windows 下可以用脚本。
|
![]() |
16
zqqian 1 天前
50 块钱雇个大学生用 word 一个一个另存为 doc
|
17
natsukage 1 天前
```python
import os import win32com.client def batch_convert_docx_to_doc(folder_path): """ 批量将文件夹中的 .docx 文件转换为 .doc 格式 参数: folder_path (str): 包含 .docx 文件的文件夹路径 """ # 启动 Word 应用程序 print("正在启动 Word 应用程序...") word_app = win32com.client.Dispatch("Word.Application") word_app.Visible = False # 后台运行,不显示界面 try: # 获取文件夹中的所有文件 files = os.listdir(folder_path) docx_files = [f for f in files if f.lower().endswith('.docx')] if not docx_files: print("未找到需要转换的 .docx 文件") return print(f"找到 {len(docx_files)} 个 .docx 文件,开始转换...") # 逐个转换文件 for filename in docx_files: # 构建完整路径 docx_path = os.path.join(folder_path, filename) doc_path = os.path.join(folder_path, filename[:-5] + ".doc") # 检查目标文件是否已存在 if os.path.exists(doc_path): print(f"跳过 {filename}(目标文件已存在)") continue try: # 打开 .docx 文件 document = word_app.Documents.Open(docx_path) # 保存为 .doc 格式( FileFormat=0 表示 Word 97-2003 文档格式) document.SaveAs(doc_path, FileFormat=0) # 关闭文档 document.Close() print(f"✅ 转换完成: {filename} → {os.path.basename(doc_path)}") except Exception as e: print(f"❌ 转换失败: {filename} - {str(e)}") finally: # 确保关闭 Word 应用程序 word_app.Quit() print("Word 应用程序已关闭") def main(): """主函数""" # 设置要处理的文件夹路径 target_folder = os.path.join(os.getcwd(), "organized_files") # 检查文件夹是否存在 if not os.path.exists(target_folder): print(f"错误:文件夹 '{target_folder}' 不存在") return print(f"开始处理文件夹: {target_folder}") # 执行批量转换 batch_convert_docx_to_doc(target_folder) print("批量转换完成!") if __name__ == "__main__": main() ``` 大概这种感觉吧(随便写的,有点丑陋,我让 cursor 给加了注释,不过核心思路应该很简单) 就是调用本地安装的 microsoft word 进行处理。 |
![]() |
18
realpg 1 天前
@yanqiyu #12
这不是 powershell 的能力 因为吧 其实说出来难以置信 office 从 98 版本开始 就是完全的 com 组件的核心 你用的 office 只是个 gui 它甚至未完全实现 office 组件的全部功能 office 要发挥 100%功能甚至必须自己编程去调用那些 office gui 未实现的功能... 只有编程去调用才能实现完全功能 |
19
beiji2027 17 小时 52 分钟前
pandoc ?自动转的都不靠谱。要么就用 docx ;要么用 Office 转存最靠谱。
|
20
kenyons 3 小时 34 分钟前
Office Tool Plus 似乎可以?
|