FOR %i IN (*.*) DO 7z.exe a "%~ni.7z" "%i"
为每个选定的文件执行该作业。
但是我有大量的目录(显然里面有文件)需要打包。
假设我有 d:\dir1、d:\dir2、d:\dir3、d:\dir4。我需要 7zip 按照如下方式打包它们:
e:\dir1.7z,e:\dir2.7z,e:\dir3.7z,e:\dir4.7z。
我如何在 7zip 命令行中执行此操作?
答案1
在命令提示符下,你可以使用如下命令:
FOR /D %i IN (d:\dir*.) DO 7z.exe a "e:\%~ni.7z" "%i"
在批处理文件中您需要:
FOR /D %%i IN (d:\dir*.) DO 7z.exe a "e:\%%~ni.7z" "%%i"
FOR
顺便说一句,您可以通过输入以下命令获取命令帮助:
help for
在命令提示符下。
请注意,7-zip 有一个单独的命令行版本,7za.exe
您可能希望使用它来代替7z.exe
。它位于一个单独的.7z
文件下载中,标题为“7-Zip Extra:独立控制台版本”,您可以在7-Zip 下载页面。该档案包含多个文件,其中两个是小型控制台 za.exe 文件和一个单独的7za.dll
库文件,前者用于完成繁重的工作 — — 这正是您所需要的。