作者happydenn (快乐小丹尼)
看板EzHotKey
标题Re: [请问] 用7z解压缩的批次档怎麽写
时间Sun Jul 20 07:46:31 2008
※ 引述《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)
1F:推 Keroro09:我了解了,非常感谢你的说明。 07/20 09:14
2F:推 VElysian:推~~ 值得研究~~~~ ^__^ 07/20 12:23
3F:推 ateclean:好酷~ 07/20 18:10