![使用批处理文件覆盖 zip 存档](https://linux22.com/image/1542183/%E4%BD%BF%E7%94%A8%E6%89%B9%E5%A4%84%E7%90%86%E6%96%87%E4%BB%B6%E8%A6%86%E7%9B%96%20zip%20%E5%AD%98%E6%A1%A3.png)
我有一个共享的 Dropbox 文件,我会经常更新它。因为它是一个大文件,所以我压缩它以节省空间。
因为它是一个共享文件,所以我需要维护链接。
我需要能够不断地重新压缩更新的文件,以便我的客户始终能够获得最新的压缩使用相同链接的版本。
另外,可以使用批处理文件完成此操作吗?我应该使用什么命令?
答案1
Dropbox
正如 @michael-nancarrow 所指出的,无论更新/文件如何更改,Dropbox 都会为共享的文件和文件夹维护相同的 URL,假设名称和位置不变。
因此,如果你的共享文件名为客户端更新,只要该文件的名称和位置保持不变,您的链接就会起作用。如果您需要不同的文件名(例如客户端更新_01-01.zip,客户端更新02-02.zip)您应该只使用共享文件夹(例如“客户端更新”)。
批处理文件
关于使用批处理文件,使用命令行压缩程序(例如 7za)(CLI 版本的7zip),你可以做一些简单的事情,例如:
@REM Remove our old version of the latest client updates
del "C:\Path\To\Dropbox\client_updates_latest.zip"
@REM Make a new version of our latest client updates
7za a "C:\Path\To\Dropbox\client_updates_latest.zip" "C:\Path\To\File\client_update.file"
如果你不打算使用诸如7za(即您已经手动创建了存档文件),您可以用以下代码替换这两行:
move /Y "C:\Path\To\Your\File\client_update_latest.zip" "C:\Path\To\Dropbox\client_updates_latest.zip"
该/Y
选项可防止系统提示您确认覆盖任何现有文件。
笔记
在上面的第一个例子中,7za将创建第一个参数给出的档案,而第二个参数表示您想要压缩的文件。
为了7za,第二个参数可以是一个文件夹(这样你可以一次压缩多个文件)。
您使用的批处理命令很大程度上取决于您用于压缩文件的程序。有些归档实用程序无法通过命令行运行。
系统变量(例如 %1)可用于替换脚本中的项目,允许您在运行批处理文件时在命令行中指定 .zip 名称。
如果你还不熟悉它,Windows 任务计划程序可用于在特定时间自动运行批处理文件。