為什麼這篇7z 批次解壓縮鄉民發文收入到精華區:因為在7z 批次解壓縮這個討論話題中,有許多相關的文章在討論,這篇最有參考價值!作者happydenn (快樂小丹尼)看板EzHotKey標題Re: [請問] 用7z解壓縮的批次檔...
※ 引述《Keroro09 (Keroro)》之銘言:
: ※ [本文轉錄自 EZsoft 看板]
: 作者: Keroro09 (Keroro) 看板: EZsoft
: 標題: [請問] 用7z解壓縮的批次檔怎麼寫
: 時間: Sat Jul 19 18:29:48 2008
: 我的寫法是D:\7-Zip\7z.exe x %1 -o*
: 測試的批次檔和壓縮檔都放在Z:\
: 可是解壓縮都會解到D:\去,
: 我想應該是工作目錄在D:\的關係,
: 請問我應該怎麼寫才能解壓縮到壓縮檔的所在目錄。
這裡批次檔還是壓縮檔放置的位置好像跟working directory都沒有啥關係,加個PAUSE
在最後就可以看到output長這樣:
C:\Documents and Settings\HappyDenn>D:\7-Zip\7z.exe x D:\blahtest\test.7z -o*
7-Zip 4.42 Copyright (c) 1999-2006 Igor Pavlov 2006-05-14
Processing archive: D:\blahtest\test.7z
Extracting test.doc
Everything is Ok
C:\Documents and Settings\HappyDenn>PAUSE
Press any key to continue . . .
所以這裡要抓的應該是批次檔所在的資料夾才對,在batch裡面,有一個變數%0就是代表
現在執行的batch檔完整路徑,在這個變數加上~dp便可以把path跟directory抓出來,不
輸出filename的部份。所以原來的那行指令修改成這樣即可:
D:\7-Zip\7z.exe x %1 -o"%~dp0"
測試出來的結果:
C:\Documents and Settings\HappyDenn>D:\7-Zip\7z.exe x D:\blahtest\test.7z -o"D
:\blahtest\"
7-Zip 4.42 Copyright (c) 1999-2006 Igor Pavlov 2006-05-14
Processing archive: D:\blahtest\test.7z
Extracting test.doc
Everything is Ok
C:\Documents and Settings\HappyDenn>PAUSE
Press any key to continue . . .
以上的測試方式皆為將test.7z直接拉到批次檔上面執行。
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 220.133.53.142
※ 編輯: happydenn 來自: 220.133.53.142 (07/20 07:47)