2014年4月2日 星期三

批次解壓指定目錄


需求目的:
在D:\Studio\PilotData的路徑下裡面有許多不同代碼的資料夾,各個不同代碼的資料夾內含有各自資料夾的壓縮檔(zip)資料,裡面的檔案被以樹狀目錄的方式壓縮著,解完壓縮以後檔案會被許多層資料夾以原樹狀路徑的方式包覆著,不會自動丟到指定的目錄下,必需找到一個大量解壓不同目錄的壓縮指令,同時能將檔案按照樹狀目錄的路徑放回指定目錄,最後刪除來源的壓縮檔(zip)。

解決方式:使用7zip指令 
(1) 7z X ←可以以完整路徑的格式解出檔案
(2) -y ←解壓縮檔案存在覆蓋不詢問

新增一個批次檔,檔名為 解壓院所MDB.bat 內容如下:

7z X D:\Studio\PilotData\2731280016\*.zip -y
7z X D:\Studio\PilotData\3501010272\*.zip -y
7z X D:\Studio\PilotData\3501010370\*.zip -y
                                               ↑視需求增加需要的指定目錄      
                           
call DelTempZip.bat


再新增一個批次檔,檔名必為 DelTempZip.bat 內容如下:

del /F /S D:\Studio\PilotData\*.zip


將 7z.exe 和所有批次檔放D:槽後執行解壓院所MDB.bat即可!

PS:Windows下請安裝 7z.exe 視窗版執行檔,才能正常運作!







因為客戶資料已經樹狀目錄方式壓縮,所以以此批次檔執行便可自動解壓至原指定目錄,並且刪除來源zip檔。

參考資料:http://felixx.pixnet.net/blog/post/36966417-7-zip%E7%9A%84%E5%91%BD%E4%BB%A4%E5%88%97%E6%8C%87%E4%BB%A4

↑ 7zip其它參數說明



沒有留言:

張貼留言