我用vb调用winrar出现的问题

来源:百度知道 编辑:UC知道 时间:2024/06/07 14:07:33
先将“E:\`\资料\QQ聊天记录\聊天记录备份.rar”解压缩到“E:\`\资料\QQ聊天记录”
再删除里面的"E:\`\资料\QQ聊天记录\聊天记录备份\QQ2009\Msg2.0.db"和"E:\`\资料\QQ聊天记录\聊天记录备份\QQ2007\MsgEx.db"。
再将"D:\Program Files\Tencent\QQ2009\Users\xxxxxxx\Msg2.0.db"和“D:\Program Files\Tencent\QQ2007\xxxxxxx\MsgEx.db”
最后再将此文件压缩回去~!!
可是现在遇到问题了~~已经成功的将“E:\`\资料\QQ聊天记录\聊天记录备份.rar”解压缩到“E:\`\资料\QQ聊天记录”里面,但是删除里面的文件却说拒绝的限权~~不知道是怎么回事
此代码如下~~~

Shell "C:\Program Files\WinRAR\winRar.exe x E:\`\资料\QQ聊天记录\聊天记录备份.rar E:\`\资料\QQ聊天记录", vbHide

Kill "E:\`\资料\QQ聊天记录\聊天记录备份\QQ2009\Msg2.0.db"
Kill "E:\`\资料\QQ聊天记录\聊天记录备份\QQ2007\MsgEx.db"
FileCopy "D:\Program Files\Tencent\QQ2009\Users\xxxxxxx\Msg2.0.db

原因是VB的shell调用不是阻塞型调用,也就是,在执行第一句的shell后,VB会马上执行下面的删除,当时上面可能还没压缩完,文件占用中,当然删不掉了。
最简单的解决办法是调用批处理解决。

shell命令问题,关键是在打开QQ的情况下,由于某些文件被QQ占用,所以无法正确解压