2017-10-11 93 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,謝謝! –

相關問題