如何使用简单的批处理文件解压并覆盖现有文件

6

我试图使用一个简单的批处理文件来解压并覆盖一个现有的文件。请问有人能告诉我正确的参数,以自动覆盖而无需干预吗?

unzip.bat 批处理文件包含:

unzip "G:\Extracts\report.zip" "G:\Extracts\report\" 

除了它让我问“替换目标中的文件?”,其他都正常。


你不能在没有任何参数的情况下读取unzip的输出吗? - Malkocoglu
1
我建议阅读unzip的文档,而不是要求我们这样做... - aschipfl
通常情况下,您可以通过在相关命令后添加 /? 参数来获取这些类型问题的答案。例如,unzip /? 可能会打印出用法说明,包括问题的答案。 - LinuxDisciple
2个回答

10

解压命令有一个-o选项,它强制覆盖文件。您的批处理文件应该如下所示:

Unzip命令有-o选项,可强制覆盖文件。您的批处理文件应如下所示:

unzip -o "G:\Extracts\report.zip" -d "G:\Extracts\report\" 

可选地,您可以添加 -q 以进入安静模式。


1
我已经尝试了这两个命令:unzip -o "G:\Extracts\report.zip" -d "G:\Extracts\report" unzip -o -q "G:\Extracts\report.zip" -d "G:\Extracts\report" ...但是Windows仍然提示“替换现有文件?” - suzymuse
很奇怪。试着从控制台执行命令而不是批处理文件。另外,运行解压缩时不要使用任何参数以查看所有可用选项。 - cakan

2

我无法让这个工作起来。

相反,我使用了7zip命令行,如下所示:

将7z.exe复制到我的.bat文件所在的文件夹中。

制作一个.bat文件,内容如下:

7z x report.zip -o"G:\Extracts\report" -aoa

这个操作解压缩并替换了现有的文件。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接