无忧启动论坛

标题: 请教个奇怪的问题 [打印本页]

作者: 槑槑    时间: 2008-11-14 20:39
标题: 请教个奇怪的问题
最近想联系定制和修改PE
在911撒手不管版的基础上修改
具体是这么干的:
在外置程序包里加入一个7z文件,和一个cmd文件
在winpe.ini里调用这个cmd文件,将7z文件里的内容解压到X盘某个目录
然后(还是在winpe.ini)文件里将上面解压出来的在X盘目录下的文件LINK到开始菜单
纳闷的事情是:
LINK失败,开始菜单里没有应该出现的内容,LOG日志文件里说“文件不存在”
但是察看X盘里的相应目录,明明是解压成功了的呀

请各位前辈给答疑一下
谢谢!
作者: netwinxp    时间: 2008-11-14 20:46
在使用PECMD LINK的时候,那些对应的可执行文件需要事先存在,而WINDOWS的CMD有点接近并行处理,并不等待前一条指令彻底完成就执行下一条指令,也就是说在执行PECMD LINK时相关的EXE文件可能还没完成解压过程,所以在PECMD LINK之前最好用"IF EXIST 文件名"来处理一下。

[ 本帖最后由 netwinxp 于 2008-11-14 20:48 编辑 ]
作者: 网虫2008    时间: 2008-11-14 20:59
在执行 .cmd中加入等待执行宪试试

Exec =!cmd.exe /c "call 你的.cmd路径"
作者: 槑槑    时间: 2008-11-14 21:06
谢谢同志们
我试一下
另外,如果在winpe.ini调用的CMD文件文件里用PECMD LINK命令挂链接的话
如netwinxp 大侠所说,用IF EXIST判断的话,如何循环等待直到文件存在呢?
谢谢!
作者: 槑槑    时间: 2008-11-14 21:22
试了一下
winpe.ini文件里改成
`安装系统附加文件
EXEC !CMD.EXE /C "CALL %OPDir%\PE_OUTERPART\OUTER_COMMON.CMD"
LINK %Programs%\附件\画图,%WinDir%\SYSTEM32\MSPAINT.EXE

还是不行,执行CMD那一句成功了,但是LINK那一句还是找不到文件。
奇怪的是,911版里直接在CMD文件里调用PECMD LINK就可以成功
作者: netwinxp    时间: 2008-11-14 21:52
911是先挂接,等挂接完毕之后当然存在那些文件,所以LINK就没问题了。挂接相比解压到X盘所需要的时间短多了,最长不超过半秒。
对于自解压文件,一般推荐让自解压文件创建快捷方式,详细可以参照老毛桃的那个MMC.EXE。

[ 本帖最后由 netwinxp 于 2008-11-14 21:54 编辑 ]
作者: yichya    时间: 2008-11-14 22:05
:try
pecmd link ...
if not exist x:\*\*.lnk goto :try
exit
作者: 槑槑    时间: 2008-11-14 22:19
原帖由 netwinxp 于 2008-11-14 21:52 发表
911是先挂接,等挂接完毕之后当然存在那些文件,所以LINK就没问题了。挂接相比解压到X盘所需要的时间短多了,最长不超过半秒。
对于自解压文件,一般推荐让自解压文件创建快捷方式,详细可以参照老毛桃的那个M ...


我也是先挂接啊
911里有一些东西,比如insoc.cmd,做法也是先解压到x盘,然后再link
作者: 槑槑    时间: 2008-11-14 22:20
原帖由 yichya 于 2008-11-14 22:05 发表
:try
pecmd link ...
if not exist x:\*\*.lnk goto :try
exit


多谢!
我试试




欢迎光临 无忧启动论坛 (http://bbs.wuyou.net./) Powered by Discuz! X3.3