无忧启动论坛

标题: PE启动完毕后%CurDrv%变量就失效了吗? [打印本页]

作者: yanlihua    时间: 2010-8-23 08:47
标题: PE启动完毕后%CurDrv%变量就失效了吗?
我想在PE启动完毕后仍然使用%CurDrv%变量,但不行。不知有没有什么办法能继续使用%CurDrv%变量???请各位大虾指点。
作者: ones    时间: 2010-8-23 09:06
可以使用setx把它设置为系统环境变量
作者: renchmin    时间: 2010-8-23 09:08
2楼说的对,可以设置环境变量,这样就可以了。
作者: yanlihua    时间: 2010-8-23 09:50
ones 上校:请问用SETX如何设置???我把以下两行建了一个YLH.CMD文件,然后在内置程序的配置文件中调用不行。内容为:

SET YLH=%CurDrv%
EXIT

难道要在PECMD.ini中调用??
作者: yanlihua    时间: 2010-8-23 09:51
也请renchmin 大校指点下该如何做?
作者: yanlihua    时间: 2010-8-23 09:55
我在内置程序的配置文件中是这样调用的:
MOUN WXRS.WIM,Y:\WXRS\,1,%TEMP%
ENVI OPDir=Y:\WXRS
EXEC =!%OPDir%\PE_OUTERPART2\YLH.CMD
作者: neo4026    时间: 2010-8-23 11:46
PECMD.ini

ENVI $YLH=%CurDrv%
作者: yanlihua    时间: 2010-8-23 13:35
标题: 回复 #7 neo4026 的帖子
neo4026
    我试了还是不行

1.jpg (34.67 KB, 下载次数: 92)

1.jpg

作者: yanlihua    时间: 2010-8-23 14:59
PE里面依然没有YLH变量

4545.jpg (124.63 KB, 下载次数: 91)

4545.jpg

作者: yjstone    时间: 2010-8-24 00:52
这可能是pecmd和wincmd的一个BUG,在非PE系统用wincmd设置系统变量要注销一次才生效,在PE系统用pecmd也应该是这样。用命令:envi 和 envi $ 刷新环境变量也不能生效。

[ 本帖最后由 yjstone 于 2010-8-24 15:20 编辑 ]
作者: hxj    时间: 2010-8-24 02:29
可试试间接方法:

echo set YLH=%CurDrv%>%Windir%\System32\YLH.BAT(事前写好的空文件)

然后启动PE后在你需要使用%CurDrv%时:
CALL YLH.BAT
EXEC =!%YLH%\PE_OUTERPART2\XXX.CMD
作者: yanlihua    时间: 2010-8-24 15:38
难道没有办法保存%CurDrv%变量的值吗???有没有其他办法实现????
作者: yanlihua    时间: 2010-8-24 17:20
用了hxj中将的办法,却发现产生的结果是X:盘,但我想要的结果是D:盘。难道%CurDrv%的值是虚拟的X:盘而不是启动的实际物理D:盘???

3424234.jpg (148.45 KB, 下载次数: 51)

3424234.jpg

作者: hxj    时间: 2010-8-24 19:08
结果不会是这样的?

注意:
echo set YLH=%CurDrv%>%Windir%\System32\YLH.BAT(事前写好的空文件)
应当写在 UDISK.CMD,然后在PECMD.INI(或其它PECMD.INI中LOAD的INI文件)中调用:
EXEC !=CMD.EXE /C UDISK.CMD

我的杀毒PE光盘中就是用这一笨办法实现定位启动U盘,并调用U盘中杀毒软件到桌面和开始菜单的。

[ 本帖最后由 hxj 于 2010-8-24 19:14 编辑 ]
作者: 66369    时间: 2010-8-24 21:53
%CurDrv%

只能理解是当前盘.
作者: 66369    时间: 2010-8-24 22:09
原帖由 hxj 于 2010-8-24 19:08 发表
结果不会是这样的?

注意:
echo set YLH=%CurDrv%>%Windir%\System32\YLH.BAT(事前写好的空文件)
应当写在 UDISK.CMD,然后在PECMD.INI(或其它PECMD.INI中LOAD的INI文件)中调用:
EXEC !=CMD.EXE /C  ...



========

老问题了.虽有办法绕圈子解决.但很烦.

希望PECMD能加个启动盘的变量 %MYDRV%

在进桌面的后续加载中.调用启动盘的其他程序...

功德无量的好事.请老九出山啊.
作者: yanlihua    时间: 2010-8-24 22:15
我心如水老大你好!看来我的这个问题目前还无法解决了!!!
作者: yjstone    时间: 2010-8-24 22:47
以我的理解,对于PE1.X来说,是无法判定PE是从哪一个驱动器来启动的。我目前的方法是在你需要指定的驱动器放一个唯一文件名的INI配置文件(例如MySoft.ini),在调用时用PECMD的命令:LOAD \MYSoft.ini ,PECMD会自动搜索指定的配置文件并加载,然后在MySoft.ini配置文件里,变量%CurDrv%就代表着你所需要找的盘符。

[ 本帖最后由 yjstone 于 2010-8-25 00:55 编辑 ]
作者: 66369    时间: 2010-8-24 23:02
原帖由 yanlihua 于 2010-8-24 22:15 发表
我心如水老大你好!看来我的这个问题目前还无法解决了!!!



http://bbs.wuyou.net/forum.php?mod=viewthread&tid=91524&page=318#pid2026167

老九已发话.

11.18楼的方法.你参考下.

我那个网启版.调用DHCP绕圈子...当时也费了不少事才解决的.
作者: 静庵    时间: 2010-11-19 22:23
请教 66369 (我心如水) :
    你的2003全内置网启特别版如何才能支持如WB5主题,我试了不行?
作者: jonepjxh    时间: 2011-3-1 23:05
exec !cmd.exe /c "echo set YLH=%CurDrv%>%Windir%\System32\YLH.BAT"
我将这句写在pecmd.ini文件中就可以了。
要用时,可以用pecmd load ylh.bat这样变量就写好了。
最后发现这个问题可以用PECMD FIND Explorer.EXE,ENVI来解决,出现了mydrv变量了。
参考这里http://bbs.wuyou.net/forum.php?mod=viewthread&tid=155228&highlight=%CF%B5%CD%B3%B1%E4%C1%BF

[ 本帖最后由 jonepjxh 于 2011-3-2 00:09 编辑 ]




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