7zip 批次壓縮不同資料夾中的特定檔案副檔名

7zip 批次壓縮不同資料夾中的特定檔案副檔名

我已經學習瞭如何使用 7zip 按原樣批量壓縮我的文件,但我在這個問題上有一些更複雜的需求。也許我可以用這個場景來解釋我的需求;

我有一個包含圖紙和模型文件的備份資料夾,它們位於客戶的子資料夾中,因此其資料夾樹如下所示:


資料夾01\檔案1。ABC,文件2。ABC, 文件3.def, 文件4.def

或者

資料夾02\資料夾03\檔案1。ABC, 文件2.def


....等等。

有沒有辦法壓縮原始檔案旁邊的每個 *.abc 檔案並在其原始位置或針對這種情況的類似解決方案?

答案1

嘗試將以下批次檔保存在資料夾的根目錄中並在那裡執行:

@echo off
for /R %%f in (*.abc) do (7za a %%~pf%%~nf.zip %%f)

這告訴批次檔遞歸地 ( /R) 查找資料夾中的任何 ( *.abc) 檔案並執行7za命令。

%%~pf是循環中的當前路徑,%%~nf是不帶擴展名的文件名,這就是為什麼我然後添加.zip. 是環路中%%f電流的完整路徑。*.abc

相關內容