
我已經學習瞭如何使用 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