看板 EzHotKey 關於我們 聯絡資訊
※ 引述《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)
Keroro09:我瞭解了,非常感謝你的說明。 07/20 09:14
VElysian:推~~ 值得研究~~~~ ^__^ 07/20 12:23
ateclean:好酷~ 07/20 18:10