2017-10-11 61 views
0

我想按文件扩展名搜索文件,并将每个找到的文件打包到一个单独的归档中(一个接一个),并在压缩后删除文件。 档案文件应存放在发现档案的地方。将特定扩展名的文件移动到单个压缩归档中

我期待为此任务确定两个参数:文件应该被找到的文件夹的路径和这些文件的文件扩展名。

例如:

路径: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

这不是一个编码请求网站,说你找不到类似的东西只显示你的不愿意从多个答案中适应您的解决方案。有时可能你以前没有问过你的确切问题,但是你为特定任务需要的部分将会是_(接受参数,使用7-Zip,删除文件)_。你需要更加努力,至少将你的问题纳入考虑,代码试图执行你所需要的所有任务。 – Compo

回答

1

一旦你设置使用从你的问题的命令的变量,只需添加这行:

for /r "%pathf%" %%f in ("%exmf%") do 7z a -mx9 -sdel "%%f.7z" "%%f" 
+0

好极了,Klitos Kyriacou,谢谢! –

相关问题