For loop COMM将特定的文件扩展名按入多个子文件夹中,并使用;至于;及;7zip";

For loop COMM将特定的文件扩展名按入多个子文件夹中,并使用;至于;及;7zip";,for-loop,compression,7zip,For Loop,Compression,7zip,在服务器上,我有一个主文件夹,其中包含许多子文件夹和带有扩展名的文件。 我只想压缩扩展名为*.bak的文件和在正确的子文件夹路径中创建的每个文件zip Example: - Folder -- Subfolder1 --- File.zip --- File.bak -- Subfolder2 --- File2.zip --- File2.bak 现在我使用此脚本压缩: cd /Folder/Subfolder1 set extension=.bak for %%a in (*%extens

在服务器上,我有一个主文件夹,其中包含许多子文件夹和带有扩展名的文件。 我只想压缩扩展名为*.bak的文件和在正确的子文件夹路径中创建的每个文件zip

Example:
- Folder
-- Subfolder1
--- File.zip
--- File.bak
-- Subfolder2
--- File2.zip
--- File2.bak
现在我使用此脚本压缩:

cd /Folder/Subfolder1
set extension=.bak
for %%a in (*%extension%) do 7za.exe a "%%~na.zip" "%%a"
cd /Backup/Subfolder2
set extension=.bak
for %%a in (*%extension%) do 7za.exe a "%%~na.zip" "%%a"
这个脚本是正确的,但我必须记住每次我有一个新的子文件夹时都要创建新行。 有没有一种解决方案可以检查每个子文件夹中的*.bak文件并将其压缩到每个子文件夹中? 非常感谢,很抱歉英语不好

附录: 我试过这个命令:

set extension=.bak
for **/R** %%a in (*%extension%) do 7za.exe a "%%~na.zip" "%%a"
在每个子文件夹中正确搜索每个*.bak,为找到的每个bak创建一个zip,但它会创建n。主文件夹中的所有压缩文件