Answers:
我假设这是Windows,因为您正在使用反斜杠。
获取7za.exe(7-zip的命令行版本)并将其放入您的中%PATH%
。
然后在您的Images\
目录中运行:
for /f "tokens=* usebackq" %G in (`dir /b /a:d "%cd%"`) do 7za a -r -tzip "%~G.zip" "%~G"
或在批处理脚本中:
for /f "tokens=* usebackq" %%G in (`dir /b /a:d "%cd%"`) do 7za a -r -tzip "%%~G.zip" "%%~G"
假设您使用的是Linux,则可以使用如下所示的Bash脚本:
#!/bin/bash
IFS=$'\n'
for f in $(find "$1" -mindepth 1 -maxdepth 1 -type d ); do
zip -r "$f" "$f"
done
该脚本将第一个参数作为文件夹(在本例中为图像),并精确地递归一个级别以获取所有文件夹(美国,意大利和日本)并将其压缩在同一位置。
它不会删除旧的zip文件或源文件夹。Zip足够聪明,可以检测现有的zip文件并在再次运行时对其进行更新。但是,如果您删除源文件夹中的文件,则不会在zip文件中将其删除。您可以通过事先删除现有文件来规避此行为。