我得到了一堆必须裁剪成 800x600 像素的图片。这很容易完成,但现在我必须上传它们,以便家人可以看到它们。
问题是,这是 500MB 的图片。我决定简单地压缩单独的文件夹,每个文件夹包含几乎相等数量的图片。这样我可以每天上传一对。手动执行此操作是一项非常漫长而艰巨的工作。我想知道是否有办法让 7-zip 单独处理每个文件夹?
我想我需要一个批处理文件来做到这一点,但我对此并不擅长。我把所有东西都放在一个文件夹下。在各个子文件夹中是图片所在的位置。我需要的是压缩该文件夹的内容。我不确定我是否可以将文件夹连同它一起压缩。我知道 PHP 有一个 zip 模块,我从来没有使用过它,所以我不确定它是否可以处理 zip 的内容是一个包含项目的文件夹,而不仅仅是项目的事实。
ele*_*n81 29
从工作目录是您的My Pictures
目录的命令提示符运行,此命令将创建每个子目录内容的 zip 文件,将所有 zip 文件保留在您的My Pictures
目录中。
编辑:我添加了必要的引号,以允许名称中包含空格的目录。
for /D %%d in (*.*) do 7z a -tzip "%%d.zip" "%%d"
Run Code Online (Sandbox Code Playgroud)
另外:以下版本不会将文件放在 zip 文件内的子目录中,而是放在其根目录中:
for /D %%d in (*.*) do 7z a -tzip "%%d.zip" ".\%%d\*"
Run Code Online (Sandbox Code Playgroud)
在 Windows 7 及更高版本中
for /D %d in (*.*) do 7z a -tzip "%d.zip" "%d"
Run Code Online (Sandbox Code Playgroud)
或者
for /D %d in (*.*) do 7z a -tzip "%d.zip" ".\%d\*"
Run Code Online (Sandbox Code Playgroud)
小智 8
我无法让命令行工作,而是下载了 WinRAR 并且mtone是正确的 - WinRAR 确实可以选择将多个文件夹压缩到它们自己单独的 ZIP 文件中。
例如,C:\Files\Fables 01
进入C:\Files\Fables 01.zip
和C:\Files\Fables 02
进入C:\Files\Fables 02.zip
。
使用 WinRAR,打开包含您要压缩的文件夹的文件夹,然后按照以下步骤操作:
当您修复了您喜欢的任何其他设置后,点击 OK 并繁荣:多个文件夹的多个 ZIP 文件。这比命令行 7zip 容易得多。
只是对 1181 的回答稍作更新:下面的代码创建了一个批处理文件,可以将多个项目放入其中。
@echo off
if [%1]==[] goto :eof
:loop
7z a -tzip "%~1.zip" "%~1"
shift
if not [%1]==[] goto loop
Run Code Online (Sandbox Code Playgroud)
然后可以通过注册表将此批处理文件添加到上下文菜单中:
例如,我的条目是“C:\Users\Rory\Dropbox\_apps\batch_zip.bat”“%1”
执行此操作后,您将在上下文菜单中为“Batch Zip”添加一个条目,该条目会将任何选定的文件夹批量压缩到单独的档案中
但是,如果您通过上下文菜单执行此操作,不幸的是它会同时运行所有操作,并且任何进行过大量压缩和解压缩的人都知道,压缩文件夹一个接一个地压缩比一次压缩要快得多。
如果有人知道在注册表中解决此问题的方法,请告诉。
将选定的文件夹拖到批处理上将一个接一个地执行。