winPE下的PECMD命令详解 -----PECMD.INI 文件配置(2)

[IFEX]
格式:IFEX <条件>,[命令1][!命令2]
功能:依据条件表达式是否成立,成立则执行命令1,不成立则执行命令2。
参数:
 ■条件对[可用内存]或[磁盘可用空间]或[按键]或[数值变量]或[文件目录]的判断。
 ■可用内存MEM<比较符>数值。
 ■磁盘可用空间R:\<比较符>数值,R:表示盘符。
 ■按键KEY<比较符>数值。
 ■文件目录文件目录名,可以使用通配符。
 ■数值变量$%数值变量名%<比较符>数值或数值变量名,数值变量是CALC或ENVI赋值设置的变量。
 ■比较符比较操作符为"<"、">"、"=",分别表示"小于"、"大于"、"等于"。
 ■数值比较的数值,磁盘和内存单位是MB,按键数值是按键代码。
示例:
 ◆IFEX KEY=17,TEAM TEXT 搜索字体|FONT \WINDOWS!TEAM TEXT 安装字体|FONT %CurDrv%\外置程序\FONT
 ◆IFEX C:\Windows,!MESS 目录C:\Windows不存在,\n请点[确定]。@ 目录检查#OK
备注:
 ※本命令功能强大,比较复杂,且可以嵌套(IFEX或FIND)使用,判断多个条件。FIND命令功能与其相似。
 ※<条件表达式>后的","号也可用"*"代替。
 ※本命令嵌套IFEX或FIND命令时,被嵌套的命令中不能使用"!"分隔符。
 ※当IFEX命令用于检测按键时,若用户按了'A'~'Z'或'0'~'9'这些键,按键结果保存在%PressKey%中。
 ※本命令用于变量判断时,所有变量均按double型来处理(最多保留4位小数)。

[IMAG]
格式:IMAG <图片框名称>,[图片框形状],[图像文件名]
功能:在_SUB定义的窗口内建立一个图片框。
参数:
 ■图片框名称: 字串,标签名称应是唯一的,不能与其它控件名称或环境变量名称同名。
 ■图片框形状: 图片框形状的位置和大小,格式为<L左T上W宽H高>,左上宽高均为数值。
 ■图像文件名: 图像文件(支持所有Windows支持的图像文件)将被显示在指定的图片框上。
示例:
 ◆IMAG Image1,L8T380W140H70,%CurDir%\logo.gif
备注:
 ※IMAG命令必须位于_SUB命令和_END命令之间,其它位置的IMAG命令无效,参照_SUB、CALL命令说明。
 ※因PECMD.EXE是脚本解释程序,不建议加载大尺寸的图像文件,否则显示会慢。

[INIT]
格式:INIT [C][I][K][U]
功能:执行最基本初始化,注册Window外壳,初始化用户文件夹和环境变量,安装键盘钩子,并建立以下目录:
Favorites收藏夹目录Programs 程序菜单目录
Desktop桌面目录SendTo 发送到目录
StartMenu开始菜单目录Personal 我的文档目录
Startup启动菜单目录QuickLaunch快速启动目录
参数:
 ■参数"C"表示将光驱的盘符写入环境变量;参数"I"表示将PECMD的部分功能安装到托盘图标的菜单中;
 ■参数"K"表示执行 INIT 命令立即安装低级键盘钩子,否则加载SHELL后才安装低级键盘钩子;
 ■参数"U"将USB的盘符写入环境变量(功能未完善)。
示例:
 ◆INIT
 ◆INIT C
 ◆INIT CH
 ◆INIT CIK
 ◆INIT CIKU
备注:
 ※执行INIT命令后,再执行SHEL命令加载指定的SHELL即可启动一个最小化的WinPE。
 ※执行INIT命令前确保%USERPROFILE%所在分区有一定的可写空间,否则INIT命令无法完成工作。
 ※带参数"C"时,光驱盘符保存在以CDROM开头的环境变量中(这些环境变量必须在启动后刷新才生效)。
 ※参数"K"表示即刻安装键盘钩子,接管Ctrl+Alt+Del,呼出任务管理器。
 ※带参数"U"时,USB的盘符保存在以USB开头的环境变量中(这些环境变量必须在启动后刷新才生效)。
 ※公开发行WinPE的INIT命令不建议带"K"参数,本命令不能在命令行中使用,只能在配置文件中使用。

[ITEM]
格式:ITEM <按钮名称>,<按钮形状>,[按钮标题],[按钮事件],[按钮图标],[按钮状态]
功能:在_SUB定义的窗口内建立一个按钮。
参数:
 ■按钮名称: 字符串,按钮的名称应是唯一的,不能与其它控件名称或环境变量名称同名。
 ■按钮形状: 按钮位置和大小,格式为<L左T上W宽H高>,左上宽高均为数值。
 ■按钮标题: 位于按钮上的文字,用于描述按钮的功能或执行的命令。
 ■按钮事件: 点击该按钮时执行的命令,必须是 PECMD 支持的有效命令。
 ■按钮图标: 在按钮上显示的图标,格式为<图标文件名#ID>,图标大小 = 按钮高度 - 6。
 ■按钮状态: 数字,默认为0表示可用状态按钮,非0为灰色不可用状态按钮。
示例:
 ◆ITEM Button3,L32T108W300H54,资源管理器,EXEC explorer.exe,%SystemRoot%\explorer.exe
备注:
 ※ITEM命令必须位于_SUB命令和_END命令之间,其它位置的ITEM命令无效,参照_SUB、CALL命令说明。大白菜官网
 ※要设置按钮上的文本,可使用 "ENVI @按钮名称=按钮文本" 来设置,参照 ENVI 命令的说明。
 ※可用"ENVI @按钮名称.Enable=数值"来设置编辑框的可用状态;0为不可用状态,非0为可用状态。

[KILL]
格式:KILL [[<\>窗口标题]|[进程名称]]
功能:关闭指定标题的窗口或强制终止指定的进程。
参数:
 ■前导"\"表示关闭指定标题的窗口,如果省略窗口标题则为关闭_SUB定义的窗口。
 ■省略前导"\"表示结束指定名称(EXE文件名,无路径)进程,如果省略进程名称则终止PECMD的父进程。
示例:
 ◆KILL WinLogon.EXE
 ◆KILL \计算器
备注:
 ※无窗口标题的进程请用进程名来结束。
 ※终止进程时将终止与"进程名称"匹配的所有进程。

[LABE]
格式:LABE <文本标签名称>,<文本标签形状>,[文本标签内容]
功能:在_SUB定义的窗口内建立一条静态文字标签。
参数:
 ■标签名称: 字串,标签名称应是唯一的,不能与其它控件名称或环境变量名称同名。
 ■标签形状: 标签的位置和大小,格式为<L左T上W宽H高>,左上宽高均为数值。
 ■标签内容: 字串,要标签显示的文字,支持多行显示,文字行间用"\n"表示断行。
示例:
 ◆LABE Label1,L32T280W128H48,请点击"打开"按钮以浏览文件。
备注:
 ※LABE命令必须位于_SUB命令和_END命令之间,其它位置的LABE命令无效,参照_SUB、CALL命令说明。
 ※要设置标签上文字内容,可以使用 "ENVI @标签名称=标签文字" 来设置 ,参照 ENVI 命令的说明。

[LINK]
格式:LINK [!]<快捷方式路径>,<目标路径>,[运行参数],[图标路径[#图标索引]],[目标备注],[起始位置]
功能:创建快捷方式。
参数:
 ■快捷方式: 指定要生成的快捷方式的路径,不需要".LNK"扩展名。
 ■目标路径: 指定快捷方式的目标文件目录(可用相对路径)。若目标不存在,将不会创建快捷方式。
 ■运行参数: 目标程序运行参数。
 ■图标路径: 快捷方式图标的路径。
 ■图标索引: 快捷方式图标在文件资源中序号,0为第1个图标,不填则默认。
 ■图标备注: 字符串,对目标程序或目录的说明。
 ■起始位置: 目标程序命令的工作目录。
示例:
 ◆LINK !%Desktop%\宽带连接,RASPPPOE.CMD,,RASDIAL.DLL#19
备注:
 ※前导"!"表示以最小化方式启动程序,可用于执行批处理文件时最小化命令窗口。

[LIST]
格式:LIST <下拉列表框名称>,<下拉列表框形状>,<下拉列表框内容>,[下拉列表框事件],[默认选中的条目]
功能:在_SUB定义的窗口内建立一个下拉列表框。
参数:
 ■下拉列表框名称: 字符串,下拉列表框名称应是唯一的,不能与其它控件名称或环境变量名称同名。
 ■下拉列表框形状: 下拉列表框形状位置和大小,格式为<L左T上W宽H高>,左上宽高均为数值。
 ■下拉列表框内容: 下拉列表框内可供选择的条目,条目与条目之间用字符"|"隔开。
 ■下拉列表框事件: 下拉列表框内被选择条目发生变化时执行的命令,必须是 PECMD 支持的有效命令。
 ■默认选中的条目: 初始化下拉列表框设置被选中的条目。
示例:
 ◆LIST List1,L200T360W128H32,EXPLORER|XPLORER2|CMD,ENVI @Label1=%List1%,EXPLORER
备注:
 ※LIST命令必须位于_SUB命令和_END命令之间,其它位置的LIST命令无效,参照_SUB、CALL命令说明。
 ※环境变量 %下拉列表框名称% 为下拉列表框被选中的条目(字符串)。
 ※可用"ENVI @下拉列表框名称.Enable=数值"来设置编辑框的可用状态;0为不可用状态非0为可用状态。

[LOAD]
格式:LOAD <文件路径>
功能:按顺序逐条运行配置文件中的命令。
参数:
 ■指定文件名(含路径,支持环境变量)。
示例:
 ◆LOAD \外置程序\PECMD.INI
备注:
 ※每条命令单独一行,主流程的命令是完全按顺序执行的。不正确的命令或空行将忽略不计。
 ※支持 ANSI 和 UNICODE 格式文本文件,推荐使用 UNICODE 格式文本文件。
 ※配置文件支持整行注释和行后注释,推荐使用"`"(键盘左上角Esc键下面的字符)作为注释起始。
 ※在配置文件中可以使用环境变量"%CurDrv%"表示当前盘符。
 ※如果文件路径第1个字符是"\",则搜索所有磁盘指定目录中的文件,如"LOAD \MyWinPE\PECMD.INI"。
 ※配置文件所在目录被设置为当前目录,这样创建快捷方式时,快捷方式目标路径可以使用相对路径。
 ※其它的参照MAIN命令的说明。

[LOGO]
格式:LOGO [[#背景颜色]|[图片文件]],[位置大小]
功能:设置或关闭登录画面。
参数:
 ■背景颜色: 数值,设置背景颜色时必须要有前导符"#",设置的颜色无效时将使用注册表内定的颜色。
 ■图片文件: 支持BMP/JPG/PNG/GIF等格式,需要GDI+支持。背景颜色和图片文件两者只取其一。
 ■位置大小: LOGO窗口的位置和大小,格式为<L左T上W宽H高>,左上宽高均为数值。
 ■若无参数: 则关闭启动画面(渐隐淡出)。
示例:
 ◆LOGO %SystemRoot%\LOGON.JPG
 ◆LOGO #0xFF0000,L100T100W300H200
备注:
 ※此命令为非阻塞模式执行。执行本命令后,将立即执行下一条命令。
 ※该命令只能在配置文件中使作,如果在命令行中使用,程序马上退出,将不能看到效果。
 ※省略"左上"时窗口居中,省略"宽高"时为全屏大小,同时省略"左上宽高"时为全屏窗口。
 ※配置文件结束之前,必须调用一次不带参数的"LOGO"命令,以关闭启动画面。
 ※WinPE启动时建议使用全屏窗口(位置大小),使用LOGO图要求的LOGO内存会大些。

[LOGS]
格式:LOGS [文件路径],[数值]
功能:启用日志以便记录每条命令的执行结果,帮助用户验证配置文件的正确性。
参数:
 ■文件路径 : 指日志文件名,含路径。
 ■数值 : 为日志文件申请的内存空间(单位为KB),日志记录多,所需空间也大,省略即采用默认值16K。
示例:
 ◆LOGS %SystemRoot%\PECMD.LOG
备注:
 ※配置文件结束之前,必须调用一次不带参数的"LOGS"命令,以关闭日志文件(确保日志写入文件)。
 ※此命令不能在命令行中使用(必须在配置文件中使用)。
 ※公开发布的 WinPE 中建议不要启用日志文件。

[LPOS]
格式:LPOS <变量名><=><字符串><,字符><,数值>
功能:返回指定"字符"在"字符串"左边起出现的位置。
参数:
 ■变量名: 用于保存命令结果的变量名;
 ■字符串: 被检测的字符串,长度不能超2K;
 ■字符: 被检测的字符,不区分大小写;
 ■数值: 指定被检测的字符出现的次数。
示例:
 ◆LPOS iPos=123A56|1234A6|abcdef,a,2
 ◆LPOS iPos=123A56|1234A6|abcdef,a,3
备注:
 ※当"数值"小于1时返回最右边被检测字符的位置,如上例的结果是15;返回结果为0时表示没有找到。
 ※该命令按 Unicode 字符串处理,示例1的返回值为12,示例2的返回值为15(与数值为0的结果相同)。

[LSTR]
格式:LSTR <变量名><=><字符串><,数目>
功能:从指定"字符串"的左边截取指定数目的字符,并将结果返回给指定名称的变量。
参数:
 ■变量名: 用于保存命令结果的变量名;
 ■字符串: 源字符串,长度不能超2K;
 ■数目: 指定截取字符的数目。
示例:
 ◆LSTR aStr=1234567890,2
 ◆LSTR aStr=1234567890,5
备注:
 ※当"数值"小于1时或超出源字符串的长度时,返回结果为整个源字符串(相当于字符串复制);
 ※该命令按 Unicode 字符串处理,示例1的返回值为"12",示例2的返回值为"12345"。

[MAIN]
格式:MAIN [文件路径]
功能:初始化桌面,接管 Ctrl+Alt+Del,并创建新进程执行 LOAD 功能。
参数:
 ■指定初始化的配置文件路径。
示例:
 ◆MAIN %SystemRoot%\PECMD\PECMD.INI
备注:
 ※MAIN命令创建LOAD进程,执行完LOAD功能后会驻留内存,安装盘键钩子,挂接"ExitWindowsEx"函数。
 ※PECMD驻留后占内存较大,你可以使用PECMD的LAOD功能,而MAIN功能则由PELOGON.EXE代替。
 ※LAOD命令完成LOAD文件的功能后会自行退出内存,其它的参照LOAD命令的说明。

[MD5C]
格式:MD5C [文件名|$字符串],[变量名]
功能:计算文件或字符串MD5校验码,用于设置或验证WinPE登录密码的MD5校验。
参数:
 ■文件名 : 要计算MD5校验码的文件全名;字符串: 要计算MD5校验码的字符串。
 ■前导"$": 表示要计算的是字符串的MD5,如果字符串的第1个字符是"$",请在前面再添加一个"$"。
 ■变量名 : 用于保存计算结果的变量名。
示例:
 ◆MD5C %SystemRoot%\System32\UserInit.EXE,UserInitMD5
 ◆MD5C $Lxl1638,PassWordMD5
备注:
 ※用MD5C命令计算字符串MD5校验码时,字符串的字符数限定在256以内(不能含","字符)。
 ※文件名不要含","字符,系统独占文件的MD5校验码是"d41d8cd98f00b204e9800998ecf8427e"或全"0"。
 ※被校验的字符串可以含有中文,英文字母区分大小写。
 ※给出变量名,MD5C命令计算结果保存到指定的变量中,示例2可通过环境变量 %PassWordMD5% 来引用。
 ※省略变量名,MD5C命令的计算结果以消息窗口的形式显示,同时也将结果保存到粘帖板中。

[MEMO]
格式:MEMO <编辑框名称>,<编辑框形状>,[编辑框内容],[目标文件名],[编辑框类型]
功能:在_SUB定义的窗口内建立一个多行文本编辑框。
参数:
 ■编辑框名称: 字串,编辑框名称应是唯一的,不能与其它控件名称或环境变量名称同名。
 ■编辑框形状: 编辑框位置和大小,格式为<L左T上W宽H高>,左上宽高均为数值。
 ■编辑框内容: 初始化编辑框时填入的内容,支持多行文字,文字行间用"\n"表示断行,总长1K以内。
 ■目标文件名: 指定文本文件名,多行文本编辑框的内容由该文件载入。
 ■编辑框类型: 数字,默认省略或为0,表示可编辑的多行文本编辑框,非0表示只读的多行文本编辑框。
示例:
 ◆MEMO Memo1,L304T268W280H88,,%CurDir%\Readme.TXT,0
备注:
 ※MEMO命令必须位于_SUB命令和_END命令之间,其它位置的MEMO命令无效,参照_SUB、CALL命令说明。
 ※"编辑框内容"不为空时将忽略"目标文件名",当"编辑框内容"为空时将加载"目标文件名"指定的内容,超长的"编辑框内容"可以通过环境变量赋值来连接成一个新的字符串变量,方便在记事本中阅读。
 ※可用"ENVI @编辑框名称.Enable=数值"来设置编辑框的可用状态;0为不可用状态,非0为可用状态。
 ※可用"ENVI @编辑框名称.ReadOnly=数值"来设置编辑框的只读状态;0为非只读状态,非0为只读状态。

[MENU]
格式:MENU <菜单项名称>,[菜单项标题],[菜单项事件],[菜单项状态]
功能:向自定义的托盘图标菜单添加一项菜单。
参数:
 ■菜单项名称: 字符串,除分隔线外,菜单项名称应是唯一的,不能与其它控件或环境变量的名称同名,当菜单项名称或菜单项名称的第一个字符为"-"时表示分隔线,否则表示正常菜单。
 ■菜单项标题: 菜单项上的文字,用于描述菜单项的功能或说明。
 ■菜单项事件: 点击该菜单项时执行的命令,必须是 PECMD 支持的有效命令。
 ■菜单项状态: 默认为0,表示正常可用菜单,非0为灰色禁用菜单。
示例:
 ◆MENU Menu2,分辨率1024X768 颜色32位 刷新率85,DISP W1024H768B32F85
 ◆MENU -
备注:
 ※MENU命令必须位于_SUB命令和_END命令之间,其它位置的MENU命令无效,参照_SUB、CALL命令说明。
 ※运行期间暂时不提供修改菜单项标题的支持,即不能通过环境变量 %菜单项名称% 来引用菜单项标题,也不支持用 "ENVI @菜单项名称" 来设置修改菜单项标题。
 ※托盘图标菜单的图标由 _SUB 命令定义的窗口图标来决定,省略时采用 PECMD 的主图标。
 ※可用"ENVI @菜单项名称名称.Enable=数值"来设置编辑框的可用状态;0为不可用状态非0为可用状态。

[MESS]
格式:MESS <消息窗文字内容><@消息窗文字标题><#消息窗类型>[*自动关闭的时间(毫秒)][$默认的选择]
功能:显示一个[是/否]选择消息窗或显示一个带[确定]按钮的消息窗口。
参数:
 ■"消息窗文字内容"支持多行文字,文字行间用"\n"断开;"消息窗类型"目前支持"YN"和"OK"两种类型。
 ■自动关闭的时间设置为0或不设置时,消息窗口不会自动关闭。默认的选择用Y或N表示,如$Y或$N。
示例:
 ◆MESS 发现物理内存不足,\n是否设置虚拟内存?@设置虚拟内存 #YN *10000 $N
备注:
 ※用户对"YN"类型消息窗的选择结果保存在环境变量 %YESNO% 中,当选择[是]时,环境变量%YESNO%的值为YES,当窗口超时关闭或选择[否]时这一变量值为NO,可用IFEX或FIND命令判断这一环境变量的值。
 ※"YN"类型消息窗省略默认的选择参数时自动关闭的返回值为NO。
 ※"OK"类型消息窗没有返回值,仅向用户显示提示消息。

[MOUN]
格式:MOUN [!][Wim文件名],<Mount目标目录>,[映像ID],[WimFltr临时工作目录]
功能:将WIM文件中的某个映像挂载到指定的目录中或卸下已经挂载上的映像文件。
参数:
 ■Wim文件名 : Microsoft Windows Imaging Format (WIM) 映像格式的文件。
 ■Mount目标目录 : 将WIM映像挂载到的目录。
 ■Wim文件的映像ID : WIM文件中的映像ID,用数值表示。只读挂载映像时,映像ID为 1 时可省略。
 ■WimFltr临时目录 : 当设置WimFltr临时工作目录时表示RW方式挂载,这个目录建议设置到硬盘。
示例:
 ◆MOUN %CurDrv%\外置程序\PROGRAMS.WIM,%ProgramFiles%,1
备注:
 ※文件目录名支持环境变量解释;使用 FBWF 命令时,FBWF 命令须在 MOUN 命令后。
 ※文件名以"\"开始时,则搜索所有分区(含隐藏分区)指定目录的文件,如: MOUN \MyPE\OP.WIM,%PF%,1
 ※前导"!"表示成功挂载隐藏分区中的WIM后,给隐藏分区分配盘符,如: MOUN !\MyPE\OP.WIM,%PF%,1
 ※省略Wim文件名为卸下映像,映像ID为非0表示卸载映像时保存修改内容,为0表示不保存修改内容。

[MSTR]
格式:MSTR <变量名><=><字符串><,位置><,长度>
功能:从指定"字符串"的起始位置截取指定长度的字符,并将结果返回给指定名称的变量。
参数:
 ■变量名: 用于保存命令结果的变量名;
 ■字符串: 源字符串,长度不能超2K;
 ■位置: 数值,指定源字符串的起始位置;
 ■长度: 数值,指定截取的长度。
示例:
 ◆MSTR aStr=1234567890,2,4
 ◆MSTR aStr=1234567890,5,7
备注:
 ※当"位置"小于1时作1处理,当"长度"小于1或超出源字符串长度时,返回起始位置后的所有字符;
 ※该命令按 Unicode 字符串处理,示例1的返回值为"2345",示例2的返回值为"567890"。

[NAME]
格式:NAME <变量名><=><文件名>
功能:返回指定文件名的基本名(无目录、无扩展名)
参数:
 ■变量名: 用于保存命令返回值的变量名
 ■文件名: 被检测的合法的文件名称
示例:
 ◆NAME aFileName=C:\WINDOWS\NOTEPAD.EXE
 ◆NAME aName=%CurDir%\Path1\Path2\FileName
备注:
 ※指定的文件名为分区的根目录时,该命令的返回结果为空值;
 ※示例1的返回结果为"NOTEPAD",示例2的返回结果为"FileName"。

[NUMK]
格式:NUMK <数值>
功能:控制小数字键盘的开关状态
参数:
 ■数值0时为关,非0为开
示例:
 ◆NUMK 1
备注:
 ※原有 SEND 命令可实现相同功能,但不十分准确,当 NUMK 为开时,再发送一次按键反而会关掉。

[PAGE]
格式:PAGE <页面文件路径> <初始大小> [最大值]
功能:设置页面文件(虚拟内存)。
参数:
 ■指定页面文件的路径,只能用 DOS 8.3 格式的路径,如"C:\PageFile.sys"。
 ■初始大小和最大值的单位是 MB;当省略最大值时,自动设置 最大值=初始大小。
示例:
 ◆PAGE C:\PAGEFILE.SYS 128 256
备注:
 ※如果设置了页面文件,则该分区将无法执行格式化等操作。
 ※当 可用内存>初始大小 时,本命令将不设置页文件,即可以定义初始大小来作为设置页文件的条件。
 ※该命令有智能化功能,即从你定义的页面文件名(含盘符)所在的分区起开始搜索符合条件(硬盘和容量)分区来设置页文件,避开速度慢的U盘和移动硬盘。以U盘或移动硬盘启动时,可能配置文件定义的页文件就在U盘或移动硬盘。经一轮搜索若没有找到符合条件的硬盘分区设置页文件才利用U盘或移动硬盘来设置页文件。

[PATH]
格式:PATH [@][#][目录名]
功能:操作目录,用于设置PECMD.EXE的当前工作目录或建立目录或删除目录。
参数:
 ■目录名称(支持带环境变量)。
示例:
 ◆PATH @%CurDrv%\外置程序 或 PATH %TEMP%
备注:
 ※前导"@"表示设置PECMD.EXE的当前目录,方便EXEC、DEVI等命令采用相对路径,以缩短命令行长度。
 ※前导"#"表示删除目录,注意该操作也可能删除同名的文件。
 ※省略前导符"@"和"#"时,PATH用于建立目录(能建立多级目录)。
 ※在配置文件内使用带前导"@"的PATH命令必须谨慎,以防引起错乱。
 ※当参数为空时将恢复 PECMD.EXE 默认的当前目录(%SystemRoot%\SYSTEM32)。

[PBAR]
格式:PBAR <进度条名称>,<进度条形状>,[进度条进度]
功能:在_SUB定义的窗口内建立一条进度条。
参数:
 ■进度条名称: 字串,进度条名称应是唯一的,不能与其它控件名称或环境变量名称同名。
 ■进度条形状: 进度条的位置和大小,格式为<L左T上W宽H高>,左上宽高均为数值。
 ■进度条进度: 数值(1~100),初始化进度条的进度百分数,默认为0。
示例:
 ◆PBAR Pbar1,L360T11W428H16,0
备注:
 ※PBAR命令必须位于_SUB命令和_END命令之间,其它位置的PBAR命令无效,参照_SUB、CALL命令说明。
 ※要设置进度条的进度,可以使用 "ENVI @进度条名称=数值" 来设置 ,参照 ENVI 命令的说明;当设置的数值小于0时将会使进度条隐藏,大于100的数值将被忽略。

[RADI]
格式:RADI <单选框名称>,<单选框形状>,[单选框标题],[单选框事件],[单选框状态],[单选框组ID]
功能:在_SUB定义的窗口内建立一个单选框控件。
参数:
 ■单选框名称: 字符串,单选框的名称应是唯一的,不能与其它控件名称或环境变量名称同名。
 ■单选框形状: 单选框位置和大小,格式为<L左T上W宽H高>,左上宽高均为数值。
 ■单选框标题: 单选框上的文字,用于描述单选框的功能或说明。
 ■单选框事件: 点击该复选框时执行的命令,必须是 PECMD 支持的有效命令。
 ■单选框状态: 数字,1或-1为钩选状态,0,2或-2为没有钩选,小于0为灰色不可用状态。
 ■单选框组ID: 数字,默认为0,可以将多个单选框分组,组内的单选框可以多选一,组间互不影响。
示例:
 ◆RADI RadioButton1,L32T314W100H20,卸载WimShExt.DLL,ENVI @Group1=%RadioButton1%,1,1
备注:
 ※RADI命令必须位于_SUB命令和_END命令之间,其它位置的RADI命令无效,参照_SUB、CALL命令说明。
 ※要设置单选框标题,可使用 "ENVI @单选框名称=单选框标题" 来设置,参照 ENVI 命令的说明。
 ※可用"ENVI @单选框名称.Check=数值"来设置单选框钩选状态,数值0为未钩选状态;非0为钩选状态。
 ※可用"ENVI @单选框名称.Enable=数值"来设置单选框可用状态,数值0为禁用状态;非0为可用状态。

[RAMD]
格式:RAMD [P可用内存百分数] [L最小值] [H最大值]
功能:设置RamDisk大小
参数:
 ■最大值、最小值均为MB。
示例:
 ◆RAMD P20 L32 H64
备注:
 ※三个参数都可单独使用,如使用 RAMD P10 时,将可用内存的10%设置为RamDisk。

[REGI]
格式:REGI [前导]<HKLM|HKCU|HKCR|HKU|HKCC><\子项\>{<键名,变量名>|[[键名][操作符][[类型符]数据值]]}
功能:读取或设置、删除注册表数据。
参数:
 ■前导符"$"、"#"、"@"分别表示读取注册表中的REG_SZ、REG_DWORD、REG_BINARY类型数据,省略表示设置、删除注册表数据。变量名(默认为RegDat)用于保存返回值。
 ■子项名所选 ROOTKEY 下注册表项的完整名。
 ■键值名要操作的键值名。省略则操作默认键值;如果操作符为"!"且没有"=",则用于删除整个子项。
 ■操作符操作符"!"为删除整个子项;操作符"="且没有数据为删除;操作符"="且有数据为设置数据。
 ■类型符数据类型。省略为字符串;"#"为REG_DWORD类型数据,如"#0x20";"@"为REG_BINARY类数据,如"@23 34 90 255"
 ■数据值字符串空值用""表示、REG_DWORD类型数据、REG_BINARY类型数据支持16进制数值。
示例:
 ◆REGI HKCU\SOFTWARE\WinCMD\Version=#1200
 ◆REGI HKCR\lnkfile\IsShortcut=""
 ◆REGI $HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\Shell Folders\Cache,IECache
备注:
 ※此命令比较复杂,请仔细看说明,示例3为读取IE缓存的位置。

[RPOS]
格式:RPOS <变量名><=><字符串><,字符><,数值>
功能:返回指定"字符"在"字符串"右边起出现的位置。
参数:
 ■变量名: 用于保存命令结果的变量名;
 ■字符串: 被检测的字符串,长度不能超2K;
 ■字符: 被检测的字符,不区分大小写;
 数值: 指定被检测的字符出现的次数。
示例:
 ◆RPOS iPos=123A56|1234A6|abcdef,a,2
 ◆RPOS iPos=123A56|1234A6|abcdef,a,3
备注:
 ※当"数值"小于1时返回最左边被检测字符的位置,如上例的结果是4;返回结果为0时表示没有找到。
 ※该命令按 Unicode 字符串处理,示例1的返回值为12,示例2的返回值为4。

[RSTR]
格式:RSTR <变量名><=><字符串><,数目>
功能:从指定"字符串"的右边截取指定数目的字符,并将结果返回给指定名称的变量。
参数:
 ■变量名: 用于保存命令结果的变量名;
 ■字符串: 源字符串,长度不能超2K;
 ■数目: 指定截取字符的数目。
示例:
 ◆RSTR aStr=1234567890,2
 ◆RSTR aStr=1234567890,5
备注:
 ※当"数值"小于1时或超出源字符串的长度时,返回结果为整个源字符串(相当于字符串复制);
 ※该命令按 Unicode 字符串处理,示例1的返回值为"90",示例2的返回值为"67890"。

[RUNS]
格式:RUNS <程序命令><*|,><启动项名称>
功能:设置Windows的启动项
参数:
 ■程序命令为EXE、CMD、BAT各种可执行的命令,可带参数;启动项名称为文字。
示例:
 ◆RUNS PECMD.EXE EXEC !%CurDrv%\外置程序\DRIVER\STARTDRIVER.CMD,安装驱动。
备注:
 ※原REGI命令可实现相同的功能,只是用REGI命令表示需要文字太长,才将这一功能单独做成一条命令。
 ※程序命令和启动项名称之间的分隔符为右起的"*"或左起的"。大白菜官网
 ※本命令不能在命令行中使用,只能在配置文件中使用。

[SEND]
格式:SEND <按键代码1[_|^]>,[按键代码2],[按键代码3]...
功能:模拟按键。
参数:
 ■虚拟按键代码,如VK_NUMLOCK,请参相关考编程文档。如果按键代码以"_"结束,则仅模拟按键按下;"^"则仅模拟按键弹起;否则模拟按下并弹起。
示例:
 ◆SEND 0x12_,0x09_,0x09^,0x12^
备注:
 ※上面的示例模拟 Alt+Tab。按键代码支持 16 进制和十进制。

[SERV]
格式:SERV [!]<服务名称>
功能:启动或停止服务或驱动程序。
参数:
 ■指定服务名称。前导"!"表示停止服务,否则启动服务。
示例:
 ◆SERV FBWF
备注:
 ※此命令来启动FBWF服务(如果安装了的话),以增加系统盘的可写空间,这样PE就能在光盘上运行了。

[SHEL]
格式:SHEL <文件名(含路径)>,[密码MD5字符串],[重试次数]
功能:加载指定的SHELL,并将SHELL锁定。
参数:
 ■文件名为SHELL文件名(含路径,可使用环境变量)。
 ■密码是英文字母和数字,区分大小写,密码的最大长度是12个字符。
 ■省略密码MD5字符串时会自动登录,默认的重试机会为3次。
示例:
 ◆SHEL %SystemRoot%\EXPLORER.EXE,e10adc3949ba59abbe56e057f20f883e,5
备注:
 ※本命令功能与EXEC $相似,修改进程中关机代码(挂接"ExitWindowsEx"函数)。
 ※本命令同时具有锁定SHELL的功能,当SHELL被杀时能自动加载SHELL。
 ※带登录密码的SHELL命令,建议在它之前开启LOGO命令。
 ※SHEL命令之后的TEXT命令的各参数可能要重新设置。
 ※SHEL命令必须在HOTK命令之后,本命令不能在命令行中使用,只能在配置文件中使用。

[SHOW]
格式:SHOW [硬盘号|标识符][:分区号],[盘符]
功能:显示系统存在的移动硬盘或固定硬盘的隐藏分区,并给这些分区分配盘符。
参数:
 ■硬盘号: 本机中存在的硬盘,"0"表示"hd0","1"表示"hd1","2"表示"hd2",依次类推;
 ■标识符: 表示硬盘类型的标识,固定硬盘用"F"表示,移动硬盘用"R"表示,标识符与硬盘号只取其一;
 ■分区号: "0"表示所有还没指派盘符的分区,"1"表示第1分区,"2"表示第2分区,依次类推;
 ■盘符: 用字母"C~Z"表示(不带":"),省略"盘符"或设置盘符不合理时由 PECMD.EXE 自动分配盘符。
示例:
 ◆SHOW 0:1,H
 ◆SHOW R:1,U
 ◆SHOW F:0
 ◆SHOW
备注:
 ※某些机型在WinPE启动后已经可以识别移动硬盘,但没有为移动硬盘指派盘符,可以通过 SHOW 命令的"R"标识符为移动硬盘分配盘符,示例2表示给"移动硬盘的第1分区"指派为盘符"U:";
 ※示例1表示"硬盘0隐藏分区1"指派为盘符"H:",示例3表示自动为"固定硬盘的所有隐藏分区"指派盘符;
 ※删除盘符可用SUBJ命令,该命令与SUBJ命令配合,可载入隐藏分区的外置程序并保持原分区隐藏属性。

[SHUT]
格式:SHUT [H|E|R|S]
功能:关闭或重启计算机等操作。
参数:
 ■无参数 : 默认为关闭系统;
 ■参数"H": 执行休眠操作,只能在正常系统中使用,系统必须支持休眠(可在控制面板中启用休眠);
 ■参数"E": 关闭系统前先弹出光驱,10秒后再关闭系统;
 ■参数"R": 执行重启系统操作;
 ■参数"S": 执行挂起系统操作,只能在正常系统中使用。
示例:
 ◆SHUT E
 ◆SHUT R
 ◆SHUT H
 ◆SHUT S
备注:
 ※该命令可在命令行中使用,此功能是快速关机,可能不会保存所有数据。            

[SITE]
格式:SITE <文件目录路径>,<文件目录属性>
功能:设置或清除文件目录的属性,SITE命令支持A、H、R、S 四种属性。
参数:
 ■设置属性用"+",清除属性用"-",(A=ARCHIVE; H=HIDDEN; R=READONLY; S=SYSTEM)
示例:
 ◆SITE %SystemRoot%\System32\PELOGON.EXE,+H+R
备注:
 ※SITE命令既可设置文件属性,也可设置目录属性。

[STRL]
格式:STRL <变量名><=><字符串>
功能:返回指定"字符串"的长度。
参数:
 ■变量名: 用于保存命令结果的变量名;
 ■字符串: 被检测的字符串,长度不能超2K;
示例:
 ◆STRL iLen=1234567890
 ◆STRL dLen=一二三四五
备注:
 ※该命令的返回结果是Unicode字符串的长度,示例1的返回值为10,示例2的返回值为5

[SUBJ]
格式:SUBJ <虚拟驱动器>,[指派给虚拟驱动器的路径]
功能:将路径与驱动器号关联,相当于CMD的 SUBST 命令。
参数:
 ■如果省略"指派给虚拟驱动器的路径",则删除指定的虚拟驱动器。
示例:
 ◆SUBJ B:,X:\PE_Tools
备注:
 ※虚拟时,虚拟驱动器须是不存在的;删除虚拟驱动器时,盘符必须准确,否则可能会删除物理驱动器。

[TEAM]
格式:TEAM [命令1][|命令2][|命令3]...[|命令n]
功能:按顺预执行指定命令群组中的各条命令。
参数:
 ■一条或多条命令,多条命令之间用"|"分开。
示例:
 ◆TEAM TEXT 载入桌面|LOGO|SHEL %SystemRoot%\EXPLORER.EXE|WAIT 3000
备注:
 ※本命令后面的命令中不能嵌入IFEX或FIND命令。

[TEMP]
格式:TEMP <[@]Delete|Setting>
功能:清理用户临时文件夹或重新设用户置临时文件夹的位置。
参数:
 ■Delete表示清理临时目录,前导@表示不经用户确认直接清理;Setting表示重新设置临时目录的位置。
示例:
 ◆TEMP Delete
备注:
 ※不要在配置文件使用本命令,必须启动到桌面使用;本命令是从注册表读取临时目录位置。

[TEXT]
格式:TEXT [文字行1][\n]文字行2[\n]文字行3...][#颜色][L左][T上][R右][B下][$字体大小]
功能:在登录画面中或桌面窗口显示文字。
参数:
 ■文字为空则清除最近定义的矩形区内的文字;默认颜色为白色,默认座标大致在左上角;结尾"*"表示显示新文字前不清除原来已显示的文字。
示例:
 ◆TEXT 正在注册组件……#0xFFDDDD L4 T720 R300 B768 $20
备注:
 ※本命令支持多行显示文字,文字行间用"\n"表示断行。
 ※字体大小默认为14(相当宋体小5号)。
 ※指定的位置[左,上,右,下]与文字的长度和字体的大小有关。
 ※本命令在登录期间(配置文件)中使用时将在登录画面显示文字,在Windows中(登录后)使用将在桌面窗口显示文字;当文字为空时则清除最近定义的矩形区内的文字。

[TIME]
格式:TIME <定时器名称>,<定时器周期>,[定时器事件]
功能:在_SUB定义的窗口内建立一个定时器控件。
参数:
 ■定时器名称: 字符串,定时器的名称应是唯一的,不能与其它控件名称或环境变量名称同名。
 ■定时器周期: 数字,单位为毫秒,数值大于0表示定时器即刻工作,数值为0时表示定时器暂停工作。
 ■定时器事件: 触发定时器时执行的命令,必须是 PECMD 支持的有效命令。
示例:
 ◆TIME Timer1,10000,FILE %TEMP%\*.*
备注:
 ※TIME命令必须位于_SUB命令和_END命令之间,其它位置的TIME命令无效,参照_SUB、CALL命令说明。
 ※环境变量 %定时器名称% 为定时器的工作状态,0为暂停,非0为已启动。
 ※暂停定时器可用 "ENVI @定时器名=0",再启动定时器可用"ENVI @定时器名=定时器周期(数值)" 。

[TIPS]
格式:TIPS [提示框标题],<提示框内容>,[提示框寿命],[图标样式ID],[<@[A]提示框位置>|[托盘栏图标]]
功能:在屏幕指定位置或托盘处显示一个气泡提示框,省略所有参数时表示清除托盘栏无效图标。
参数:
 ■提示框标题: 字符串,提示框标题处显示的文字,长度不能超过64个字符,超出部分无效。
 ■提示框内容: 字符串,提示框显示的正文内容,长度不能超过256个字符,可以用"\n"表示分行。
 ■提示框寿命: 数字,表示提示框持续显示的时间(毫秒),省略为默认10秒,最长显示时间由系统决定。
 ■图标样式ID: 数字,默认0(无图标),1(信息图标),2(警告图标),3(错误图标),4或以上(托盘图标)
 ■提示框位置: 必须带前导"@",表示在屏幕指定位置显示提示框,前导"A"表示箭型提示框,省略"A"时表示方型提示框,位置用LxxTyy表示(xx、yy代表数字),该参数与"托盘栏图标"不能同用
 ■托盘栏图标: 格式为"文件名#数字",省略"文件名"时使用 PECMD.EXE 程序资源中指定的图标。
示例:
 ◆TIPS 标题,内容\n可分行\n第3行,5000,1,#1
 ◆TIPS 标题,内容\n可分行\n第3行,5000,2,@aL600T400
备注:
 ※托盘栏气泡提示框可以在 PECMD.EXE 结束后继续显示,PECMD.EXE 生命比提示框寿命长时 PECMD.EXE会在指定时间后结束提示框;PECMD.EXE 生命期结束后仍然存在的提示框由系统或用户处理。
 ※屏幕提示框在 PECMD 结束后也结束,所以要保证 PECMD 生命期比提示框寿命稍长( WAIT 命令延时)。

[UPNP]
格式:UPNP [$]<参数>
功能:执行 BartPE.EXE 的功能。
参数:
 ■前导"$" 表示显示 BartPE.EXE 的执行界面;
 ■参数为 BartPE.EXE 的命令行参数。
示例:
 ◆UPNP -pnp
 ◆UPNP $-pnp
备注:
 ※本命令内钳新版 BartPE.EXE 执行代码,WinPE 无需 BartPE.EXE 文件也可完成 BartPE.EXE 的功能;
 ※本命令为阻塞模式执行,命令完成后才执行下一条命令;注意 BartPE.EXE 参数及其大小写。

[USER]
格式:USER <用户名><*|,><公司名>
功能:设置"我的电脑"右键菜单属性中的用户名和公司名。
参数:
 ■参数为文字。
示例:
 ◆USER 老九*无忧启动论坛
 ◆USER 老九,无忧启动论坛
备注:
 ※用户名和公司名之间的分隔符为右起的"*"或左起的","。本命令仅能在配置文件中使用。

[WAIT]
格式:WAIT [-][等待时间],[量变名称]
功能:暂停或等待指定时间后再继续执行命令。
参数:
 ■前导"-" : 在指定的等待时间内遇到任何按键即中止等待,否则直至等待时间结束;
 ■等待时间: 数值(单位毫秒),数值为0时遇到按键即中止,若无按键会无限等待(相当于任意键继续);
 ■量变名称: 用于保存等待期间按键的变量,用户的按键结果将保存在指定的变量中。
示例:
 ◆WAIT 2000
 ◆WAIT 0,PKey
备注:
 ※参数为0则暂停,任意键继续,不要在短时间间隔内连续使用暂停功能,也建议暂停功能只使用一次;WAIT 0可检测用户的按键'A'~'Z'或'0'~'9',省略变量名时按键结果保存在环境变量%PressKey%中。

[WALL]
格式:WALL <壁纸文件名>
功能:设置壁纸
参数:
 ■参数为壁纸文件名。
示例:
 ◆WALL %CurDrv%\外置程序\WallPage.JPG
备注:
 ※支持环境变量、支持各种格式的图形文件。设置壁纸的 WALL 必须在加载桌面 SHEL 命令之前。
 ※本命令不能在命令行中使用,只能在配置文件中使用。


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章