如何在批处理文件中进行压缩

5

我有一个问题,关于在批处理文件中压缩一个目录或文件。我该如何操作呢?请问有人可以帮我吗?

谢谢。

3个回答

3

SuperUser的一个帖子中,有一个类似问题的好解决方案,我将其复制粘贴如下:

CScript zip.vbs C:\test3 C:\someArchive.zip

其中zip.vbs包含以下内容

'Get command-line arguments.
Set objArgs = WScript.Arguments
InputFolder = objArgs(0)
ZipFile = objArgs(1)

'Create empty ZIP file.
CreateObject("Scripting.FileSystemObject").CreateTextFile(ZipFile, True).Write "PK" & Chr(5) & Chr(6) & String(18, vbNullChar)

Set objShell = CreateObject("Shell.Application")

Set source = objShell.NameSpace(InputFolder).Items

objShell.NameSpace(ZipFile).CopyHere(source)

'Required!
wScript.Sleep 2000

我创建了一个批处理文件,其中包括"CScript zip.vbs C:\Temp C:\someArchive.zip",并在同一目录下创建了zip.vbs。然后,我运行了批处理文件,但它没有按照我的要求工作。我的错误在哪里?C:\Temp是我想要压缩的目录。 - eponymous
没有错误消息。只有我发现它不压缩文件夹。然后我创建了一个批处理文件,其中包括该链接的经过批准的代码->http://superuser.com/questions/110991/can-you-zip-a-file-from-the-command-prompt-using-only-windows-built-in-capabili。它作为单独的批处理文件运行,但是当我将其复制粘贴到另一个批处理文件中(在if-else块中)时,它不会运行。if-else没有任何问题,我确定。我无法理解问题所在。 - eponymous
我的最后一个情况中出现了错误消息 -> C:\Windows\system32_zipIt.vbs(9, 8) Microsoft VBScript编译错误:无效字符。 - eponymous


0

你可以使用第三方工具,我建议使用7-Zip,它有一个命令行版本,可以批量使用。

请参阅此处以获取可用命令和示例列表。


你可以通过在vbs中调用一个对象来使用内置的Windows zip命令。 - John Mitchell
1
@JohnMitchell 没错,将答案编辑为建议而非要求 :) - Bali C

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