【问题标题】:How to batch zip files without WinRAR, Winzip, or 7zip?如何在没有 WinRAR、Winzip 或 7zip 的情况下批量处理 zip 文件?
【发布时间】:2013-11-10 00:00:56
【问题描述】:

我正在尝试使用批处理文件将特定目录中的所有文件和文件夹压缩到一个压缩文件夹中没有使用 WinRAR、WinZip 或 7Zip。

更具体地说: 假设我有一个名为 Files\ 我想创建一个批处理文件,将 Files\ 中的所有内容压缩到一个新的 .zip 文件 inside Files\ 文件夹,名为“MyZippedFile.zip”。

任何帮助将不胜感激!

【问题讨论】:

  • VBS 脚本可以存档到 .ZIP - 为什么不能使用存档器?
  • 我不能使用存档器,因为使用脚本的人可能没有在他们的计算机上安装任何存档器... - 这不是问题吗?
  • 只是存档器是计算机中的一个重要工具,免费的就好了。

标签: batch-file compression zip


【解决方案1】:

Zip 是文件夹。这会从一个文件夹复制到另一个文件夹。

'Zip.vbs - needs an existing zip file
Set objShell = CreateObject("Shell.Application")
Set Ag=Wscript.Arguments
set WshShell = WScript.CreateObject("WScript.Shell")

Set SrcFldr=objShell.NameSpace(Ag(1))
Set DestFldr=objShell.NameSpace(Ag(0))
Set FldrItems=SrcFldr.Items
DestFldr.CopyHere FldrItems, &H214
Msgbox "Finished"

'Unzip.vbs - needs existing unzip directory
Set objShell = CreateObject("Shell.Application")
Set Ag=Wscript.Arguments
set WshShell = WScript.CreateObject("WScript.Shell")

Set DestFldr=objShell.NameSpace(Ag(1))
Set SrcFldr=objShell.NameSpace(Ag(0))
Set FldrItems=SrcFldr.Items
DestFldr.CopyHere FldrItems, &H214
Msgbox "Finished"

'CreateBlankZip.vbs
Set Ag=Wscript.Arguments
Set fso = CreateObject("Scripting.FileSystemObject")
Set ts = fso.OpenTextFile(Ag(0), 8, vbtrue)
BlankZip = "PK" & Chr(5) & Chr(6)
For x = 0 to 17
    BlankZip = BlankZip & Chr(0)
Next
ts.Write BlankZip

【讨论】:

  • 嗨大卫 - 这似乎非常有帮助,但我似乎仍然无法让它工作......我为我的无知道歉。您编写的这个脚本应该在 .vbs 或 .bat 文件中吗?当您说“'Zip.vbs - 需要一个现有的 zip 文件”和“'Unzip.vbs - 需要一个现有的解压缩目录”和“CreateBlankZip.vbs”时 - 是我需要创建的那些单独的文件还是这个一个大文件?
【解决方案2】:

我创建了位于zipping files from different folders preserving the directory structure 的 VBS 脚本,以仅使用内置的寡妇压缩功能备份目录文件。它只压缩文件和文件夹,不解压缩。保持文件夹完好无损。

将代码放入文件中(例如BackZip.vbs)并使用wscript.exe 执行它,该文件包含在大多数使用.NET 的计算机中。 (例如wscript.exe BackZip.vbs /X "C:\My Folder\")只需要2005年发布的.NET 2.0或更高版本。

很多代码都围绕着处理单个文件,但如果您只处理文件夹,则可以删除很多代码。

【讨论】:

    猜你喜欢
    • 2020-02-15
    • 1970-01-01
    • 2013-07-21
    • 2016-04-29
    • 1970-01-01
    • 2013-09-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多