7zip在目录中批量处理多个文件,而存档中没有文件夹
Posted
技术标签:
【中文标题】7zip在目录中批量处理多个文件,而存档中没有文件夹【英文标题】:7zip batch multiple files in directory without folder in archive 【发布时间】:2015-05-29 01:50:48 【问题描述】:我在一系列文件夹中有一系列文件需要单独压缩。
C:\folder1\file1-1.txt
C:\folder1\file1-2.txt
C:\folder1\file1-3.txt
C:\folder2\file2-1.txt
C:\folder2\file2-2.txt
C:\folder2\file2-3.txt
C:\folder2\file2-4.txt
C:\folder3\file3-1.txt
C:\folder3\file3-2.txt
C:\folder3\file3-3.txt
C:\folder3\file3-4.txt
C:\folder3\file3-5.txt
我使用下面的代码压缩每个文件夹,没问题:
for /d %%X in (fol*) do "c:\Program Files\7-Zip\7z.exe" a "%cd%\ZIPS\%%X.zip" "%%X"
我在“ZIPS”目录中留下了 3 个 zip 文件,每个文件夹的内容都在自己的 ZIP 中,如所愿。
C:\ZIPS\folder1.zip
C:\ZIPS\folder2.zip
C:\ZIPS\folder3.zip
但是在每个文件中,我只剩下文件夹和文件。
e.g. C:\ZIPS\folder1.zip\folder1\<files here>
我要的是保存在目录根目录中的文件:
e.g. C:\ZIPS\folder1.zip\<files here>
我尝试删除行尾的“%%X”,但所做的只是将所有文件保存在每个文件夹的所有目录中。
我们将不胜感激。
【问题讨论】:
【参考方案1】:切换到要压缩的文件所在的文件夹
for /d %%X in (fol*) do (
pushd "%%~fX" & (
"c:\Program Files\7-Zip\7z.exe" a "%cd%\ZIPS\%%~nX.zip" *
popd
)
)
【讨论】:
以上是关于7zip在目录中批量处理多个文件,而存档中没有文件夹的主要内容,如果未能解决你的问题,请参考以下文章
在 Java 中解压缩包含多个文件和目录的 7zip 存档 [关闭]
7zip:在C#中,如何将不同目录下的多个同名文件添加到同一个zip文件中?
使用 7zip 命令行实用程序解密加密的 7zip 存档文件