|
|
原帖由 玄天 于 2008-8-27 23:37 发表 
老大,WinCMD不同于PECMD, 一般使用于正常的系统中,是否可考虑下:
┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓
┃ WinCMD - 命令解释程序,内置以下环境变量的支持 ┃
┣━━━━━━━━━━━━━━━━┯━━━━━━━━━━━━━━━━━┯━━━━━━━━━━━━━━━━━┫
┃CurDir 配置文件目录│Desktop 系统桌面目录│Favorites 收藏夹目录┃
┃Personal 我的文档目录│Programs 程序菜单目录│SendTo 发送到目录┃
┃StartMenu 开始菜单目录│Startup 启动菜单目录│QuickLaunch 快速启动栏┃
┗━━━━━━━━━━━━━━━━┷━━━━━━━━━━━━━━━━━┷━━━━━━━━━━━━━━━━━┛
这几个变量(除第一个)应该使用于正常系统中而不是PE中?
这些变量仅仅是PECMD或WinCMD自己的,除非你将它们设置成系统级环境变量,否则它们不会影响正常系统的环境变量。
除第一个外,其它的都是从注册表
HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\User Shell Folders
中读取出来的,在正常系统中你用CMD的SET命令列举时很多是列不出来的。
你的意思本人明白,就是要兼容正常系统的变量名。
但XCMD、PECMD、WinCMD一开始就使用了这些变量名了,只能二选一:
1、兼容PECMD,方便PECMD、WinCMD配置文件的移植,也无需修改代码,但有些与CMD的变量名不兼容;
2、兼容CMD,方便CMD、BAT批处理文件的移植,但要修改代码,不方便PECMD配置文件的移植;
本人选择了2,你可以这样处理,如:
ENVI ProgramFiles=%Programs% |
|