我想按文件扩展名搜索文件,并将每个找到的文件打包在一个单独的存档中(逐个)并在压缩后删除文件。 存档文件应存储在找到文件的位置。
我希望为此任务确定两个参数:应该找到文件的文件夹的路径以及这些文件的文件扩展名。
例如:
路径:d:\folder\
扩展名:txt
找到的名称应转移到7zip并开始打包:
7z a -mx9 -sdel d:\folder\subfolder1\filename1.txt.7z d:\folder\subfolder1\filename1.txt
之后将打包并删除:
7z a -mx9 -sdel d:\folder\subfolder2\filename2.txt.7z d:\folder\subfolder2\filename2.txt
我已经找到了如何使用命令行进行搜索:
@If "%1"=="" (Set pathf=D:\folder\) else (Set pathf=%1)
@If "%2"=="" (Set exmf=*.txt) else (Set exmf=%2)
但我不知道如何以正确的格式将此信息发送到7zip。删除文件没有问题,因为7zip有-sdel
选项可以解决问题。
答案 0 :(得分:1)
使用问题中的命令设置变量后,只需添加以下行:
for /r "%pathf%" %%f in ("%exmf%") do 7z a -mx9 -sdel "%%f.7z" "%%f"