|
向老大报告个问题:
为了节省进入PE后X盘有限的空间,可以将许多外置工具用楼主分享的“7-ZIP SFX TOOL”工具打包成自解压程序,在PE中建立快捷方式使用,由于其它盘的分区不可预料,需要时可以用百大正在写的Fbinst增强接口工具从UD隐藏分区中直接提取自解压程序到X盘执行,执行完毕后自动删除自身程序和临时文件夹中解压的文件,以节省X盘的有限空间。
但现在出现了问题。“7-ZIP SFX TOOL”制作的自解压程序在其它任何物理分区上都可以完成删除自身解压包的操作,就是在X盘及其它虚拟盘上不行。试了几个不同的PE核心版本都如此,估计这与PE的核心文件不完整有关,也许是“7-ZIP SFX TOOL”删除自身的操作依赖于某个文件,而PE中均没有集成这个插件。
不知老大及其它哪位朋友有时间帮忙解决此问题?或者将解压后执行的批处理做个改进,以便删除自身。已经试过,像老大图中那样先用一个批处理调用主程序,执行完后Temp中的临时文件倒是全删除了,但从UD中提取的自身程序却还在X盘,除了极个别软件可能与它释放的插件有关(即使在C盘NT系统下也不能删除自身的),或者有何好的方法将解压后运行的批处理做个改进?请留意,我打包的程序在XP操作系统下均可以删除自身,但在PE下的X盘是不行的,在PE下的其它可见物理分区是可以的。
我写的批处理如下,可以启动需要调用的主程序,在“7-ZIP SFX TOOL”解压路径中留空,完成后可以自动删除临时文件夹中释放的文件。不过,即使在下边批处理中加上删除指定X盘的“PSPR.exe”源程序也不行,说明这个批处理应该先于自删除程序结束。
@echo off
color 3e
call
echo.
cd /d "%~dp0"
start /wait .\PSPR\PSPR.exe
rd /s /q PSPR
del %0
exit
谢谢了。目前我难以解决此问题,尚无好的方法,只有在Cleantemp.cmd中增加删除指定自解压程序的命令,以便能同时清空从UD中提取的那个文件夹。
[ 本帖最后由 zxyy 于 2011-3-27 16:37 编辑 ] |
|