看板 EzHotKey 關於我們 聯絡資訊
最近小弟在備幫家人分硬碟中資料 因為資檔案量有點大 所以打算一次壓縮跑完 但是目前小弟只能寫到 讓一個目錄底下的全部rar檔解壓縮 沒辦法在讓他自動往下繼續做 並且解壓縮到同個資料夾 簡單來說就是解壓縮檔案到原本檔案的目錄下就好 剛剛改良了一下 可以做到讓目錄下(包含子目錄內)的全部rar檔解壓縮到 當前執行.bat位置 但是這不我需要的 舉例說明:A(B(b.rar)C(c.rar D(d.rar)))理想是變成A(B(b)C(c D(d))) 就解壓到原本的目錄下就好 我改良後的變成A(b c d B C(D))全部都跑到A層了.. ---------------------------------------------------- @echo off set rar="D:\Winrar\Rar.exe" for /R %%f in (*.rar) do %rar% x -o+ -p2119 %%f pause ----------------------------------------------------- 以上是我的程式碼 希望有大大可以解惑 小弟感激不盡! -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 98.118.249.119 ※ 文章網址: https://www.ptt.cc/bbs/EzHotKey/M.1438595452.A.F7F.html
logs: 看不太懂你的括弧代表什麼意思?有待其他高手出招 08/04 22:53
logs: 誠心建議要弄複雜的備份方案,還是用專門的程式 08/04 22:53
logs: 例如 Cobian Backup http://www.cobiansoft.com/index.htm 08/04 22:56
logs: 不過我覺得你的疑問應該是 rar cmd line 的用法 08/04 22:57
logs: 在壓縮的時候,要使用 -ep2 甚至 -ep3 來包含完整路徑 08/04 22:59
logs: 想了一下,發現你可能需要加上 cd (change dir) 08/04 23:08
logs: 先 cd 再 rar x 08/04 23:09
iamgodisme: 感謝樓上大大回復 刮弧的意思是目錄A()=A目錄下 08/04 23:53
iamgodisme: A(B(b.rar))代表 A目錄下有B目錄 B目錄內有b.rar檔 08/04 23:54
iamgodisme: 用CD的方式有想過 但是假如有100層就要CD 100行.. 08/04 23:56
iamgodisme: 所以想說有沒有配合演算法可以寫樹狀往下解壓縮的方法 08/04 23:57
logs: for /r 就是遞迴(Recursive)的意思 你需要解析路徑來 cd 08/05 00:52
logs: 或許可以用 for 的 token 或 % 操作子(搭配延伸指令) 08/05 00:54
logs: 但是太複雜,不如用簡便的 script 來完成:AHK、AutoIt、按精 08/05 00:55
logs: 甚至 PowerShell、VBscript 都是不錯的方案 08/05 00:57
iamgodisme: 謝謝大大 我在研究其他方式看看 08/05 01:14
logs: 用 %~dpI 可解決 08/05 01:17
logs: 比想像中簡單^^ 已確認此延伸指令至少 XP 開始就有支援了 08/05 01:25