无忧启动论坛

标题: 老九进,如何用pecmd的envi命令修改系统Path变量。 [打印本页]

作者: ls_qiang    时间: 2008-1-20 23:25
标题: 老九进,如何用pecmd的envi命令修改系统Path变量。
如何用pecmd的envi命令修改系统Path变量?

我执行如下命令:

pecmd envi $Path=x:\temp

发现系统Path变量没有被修改,反而创建了一个新的用户变量Path。

[ 本帖最后由 ls_qiang 于 2008-1-21 11:23 AM 编辑 ]
作者: ls_qiang    时间: 2008-1-21 11:24
老九不在吗?有没有人能告诉我啊?
作者: lxl1638    时间: 2008-1-21 11:59
ENVI $PATH=%PATH%;你要补充添加的环境变量
作者: ls_qiang    时间: 2008-1-21 12:55
试了,但不行啊,我运行以下语句:

pecmd envi $path=%path%;x:\temp

但系统的path仍没有被修改,只是创建了一个用户path
作者: zhiwen1977    时间: 2008-1-21 13:13
在 WINPE.IS_  中的 SETUPREG.HI_ 改吧,解开来改一定行
作者: ls_qiang    时间: 2008-1-21 13:22
改注册表只能设置固定值,我想在进PE后动态修改path的值。
作者: nn2nn    时间: 2008-1-21 13:34
提示: 作者被禁止或删除 内容自动屏蔽
作者: lxl1638    时间: 2008-1-21 17:59
见图。。。。。。。。。。。。。。。。。。。。。。。。

未命名.PNG (20.19 KB, 下载次数: 52)

未命名.PNG

未命名1.PNG (19.83 KB, 下载次数: 49)

未命名1.PNG

作者: chenall    时间: 2008-1-21 19:44
用PECMD 如果设置后没有反应要在命令行下运行
PECND ENVI
刷新一下变量就OK了.
作者: ls_qiang    时间: 2008-1-21 21:08


pecmd $PATH=%PATH%;X:\TEMP

不用envi关键字吗?
作者: ls_qiang    时间: 2008-1-21 21:14
试了下
pecmd $PATH=%PATH%;X:\TEMP

不起作用。。

而再试了下

pecmd envi $PATH=%PATH%;X:\TEMP

但得到同一楼一样结果,问题得不到解决。

后来再试下nn2nn的setx就ok了。

[ 本帖最后由 ls_qiang 于 2008-1-22 12:31 PM 编辑 ]
作者: ls_qiang    时间: 2008-1-22 12:31
老九那去呢?难道一定要用setx才能解决问题吗?
作者: opq    时间: 2010-7-12 13:06
@关于程序修改Windows环境变量后使环境变量立即生效的问题:

本程序是使用SendMessageTimeout函数向系统发送设置改变的消息来实现的。具体代码如下:

DWORD dwMsgResult = 0L;

SendMessageTimeout(HWND_BROADCAST, WM_SETTINGCHANGE, 0,LPARAM("Environment"), SMTO_ABORTIFHUNG, 5000, &dwMsgResult);

5000是延时等待的时间长度,单位为毫秒。整个等待的长度为:

Therefore, the total wait time can be up to the value of uTimeout multiplied by the number of top-level windows.

在本示例中整个程序等待的长度 = 5000 * 顶层窗口的个数;




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