据我所知,docx 文件是 xml 文件的压缩集合。在 Windows 7(我尝试过此操作的唯一操作系统)上,如果我保存文件,从 Word 说 f.docx,然后退出 Word 并将文件名更改为 f.zip,我可以解压缩包并阅读组件文件。但是,如果我随后删除并重新压缩 f 文件夹(不进行任何修改)并将扩展名更改回 docx,则会收到一条错误消息,指出“文件 f.docx 无法打开,因为内容存在问题”。当我查看详细信息时,它说“Microsoft Office 无法打开此文件,因为某些部分丢失或无效。”
问题:这是为什么?又如何能完成各个部分重新组合成一个有效的docx文件?
这里提出了一个类似的问题,但提供的解决方案不起作用。正如我上面提到的,我没有更改文件夹中的任何内容,甚至也没有打开文件。虽然我不明白为什么它会相关,但我重新压缩文件的方法是使用上下文菜单命令“发送到压缩(zipped)文件夹”。
正如@Pawel 在他的评论中指出的那样,要做的是确保从命令行完成重新压缩。在 Windows 7 中没有内置 zip 命令的情况下(我无法使这里提到的 PowerShell 解决方案起作用),可以使用 7-zip 来重新创建压缩存档;使用 Windows 7 上下文菜单解压缩似乎不是问题。使用 7-zip 时需要注意一些事项。假设 foo.docx 已重命名为 foo.zip 并使用上下文菜单解压缩到文件夹 foo。然后,当需要使用 7-zip 重新压缩组件文件时,不要压缩 foo 文件夹。相反,进入 foo 文件夹,选择组件文件和文件夹,然后使用 7-zip 将这些组件压缩到 foo.zip 文件夹中,然后可以重命名回 foo.docx。