从命令行使用 7-Zip - 使用目录名命名 zip 文件

从命令行使用 7-Zip - 使用目录名命名 zip 文件

我知道这应该很简单,但我不知道该怎么做。如能得到任何帮助我将不胜感激。

我想用目录名来命名 zip 文件。

假设我有一个目录“Zip1”,其中包含文件“Doc1.txt”和“Doc2.txt”

我了解压缩文件夹的所有知识,但命名除外。我找不到如何使用目录名称信息通过命令行命名文件的示例。

我怎样才能将此 zip 文件命名为“Zip1.7z”,而无需实际输入目录名称,而是让命令行从文件所在的目录中提取此信息?

有人可以帮忙吗?

答案1

我假设您位于一个所有子目录都应被压缩的目录中,并且 7-Zip 二进制文件位于您的 PATH 上。

然后您可以在 Windows 上使用以下命令(目录为%i):

for /d %i in (*) do 7z ... %i.7z ...

在 Linux 上(目录为$i):

for i in $(find -mindepth 1 -maxdepth 1 -type d) ; do 7zr ... $i.7z ... ; done

更短但不太强大:

for i in */ ; do 7zr ... ${i%/}.7z ... ; done

示例:压缩.txt所有目录中以 开头的所有文件backup-

视窗:

for /d %i in (backup-*) do 7z ... %i.7z %i\*.txt

Linux:

for i in backup-*/ ; do 7zr ... ${i%/}.7z $i/*.txt ; done

相关内容