#code=936T950 //GBK=936 BIG5=950 ASCII=0(default) _END _SUB 窗口 *┃_SUB 函数 *┃_SUB ADSL BLOCK *┃ 代 BASE BROW CALC CALL CHEK CMPS DATE DEVI DFMT DISK DISP EDIT EJEC ENVI EXEC EXIT FBWF FDIR FDRV FEXT FILE FIND FLNK FONT FORM FORX GETF GROU HASH HELP HIDE HIVE HKEY HOME HOTK IFEX IMAG INIT IPAD ITEM KILL LABE LINK LIST LOAD LOCK LOGO LOGS LOOP LPOS LSTR MAIN MDIR MEMO MENU MESS MOUN MSTR NAME NOTE NUMK PAGE PART PATH PBAR PCIP PINT PUTF RADI RAMD READ RECY REGI RPOS RSTR RUNS SCRN SEND SERV SHEL SHOW SHUT SITE SIZE SPIN SSTR STRL SUBJ TEAM TEMP TEXT THRD *┃ R ├ THREAD *┃ R ├ TIME TIPS UPNP USER WALL WAIT WRIT 欢迎 欢迎 特点 *┃特点│ 使用 *┃使用│ 控件 窗口控件 内置变量 内置以下 ## ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ ┃ 欢迎使用 PECMD2012 - WinPE Commander,功能强大的 WinPE 命令解释工具! 【精简说明】 ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┫ ┃PECMD - XCMD V2.2补充完善版,在XCMD V2.2基础上修改完善了 CALL、DISP、LOGO、LOGS 等8条命令的参数和功能。 ┃ ┃PECMD - XCMD V2.2补充完善版,在XCMD V2.2基础上增加了 FONT、HOTK、FBWF 等21条命令,在此向Yonsm表示感谢! ┃ ┃PECMD2012官方网址:http://mdyblog.blog.163.com ┃ ┃ http://mdyblog.blog.163.com/blog/static/106150119201202591855298/ ┃ ┃PECMD2012 NonCopyRight,任何个人和组织(含商业组织)可随意免费使用,2进制编辑...,技术支持可咨询作者 ┃ ┣━━┯━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┫ ┃ │◎短小精悍运行迅速;支持常规扩展设置命令;内置了90多条命令,功能极其强大;支持调用外部EXE和DLL函数 ┃ ┃特点│◎支持格式统一的命令行参数和配置文件,登录操作完全使用INI文件配置,修改INI就能完全控制登录步骤; ┃ ┃ │◎支持模块化、结构化和脚本化的配置文件;注释为行首或空字符后的可用"//"或"`";支持空格缩进书写。 ┃ ┣━━┿━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┫ ┃ │◎使用命令行参数,例如:要设置环境变量,执行"PECMD.EXE ENVI $PPPoE=OK"即可。 ┃ ┃ │◎使用配置文件,例如:"PECMD.EXE LOAD %SystemRoot%\PECMD.INI"。 ┃ ┃ │◎不用命令行参数,直接执行本程序,将显示帮助信息。 ┃ ┃ │◎命令参数支持环境变量解析(如"%TEMP%\X.TXT");命令不区分大小写;尖括号"<>"内的参数表示必须输入,方┃ ┃使用│ 括号"[]"内的表示可以省略。 ┃ ┃ │◎如果在命令行中使用,且参数中带有">"或"|",则命令后的参数必须用引号包围,否则将会被认为是重定向或┃ ┃ │ 管道操作符。本程序支持引号参数解析。 ┃ ┃ │◎通常情况下,您只需要编辑一个配置文件PECMD.INI放在磁盘的某个位置,里面列出需要执行的命令。然后在 ┃ ┃ │ WinPE 启动的时候执行"PECMD.EXE MAIN INI文件名(含路径,支持环境变量)"即可。 ┃ ┃ │◎兼容完整版. 脚本开头加上下面命令,这样 完整版 运行该脚本,获得一致的效果和调试信息。 ┃ ┃ │ TEAM ENVI -mode EnviMode=1| ENVI -mode __ARG=1| ENVI -mode LOGS_NP=1 | ENVI -mode LOGS_ln=0 ┃ ┗━━┷━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ ┃ PECMD - WinPE Commander,内置以下环境变量的支持 ┃ ┣━━━━━━━━━━━━━━━━┯━━━━━━━━━━━━━━━━━┯━━━━━━━━━━━━━━━━━┫ ┃CurDir 当前脚本目录│CurFile 当前脚本文件名称│Desktop 桌面目录名┃ ┃Favorites 收藏夹全路径│IECache IE临时目录名│MyName MyName0 自身文件名┃ ┃Personal 我的文档目录│Programs 程序菜单目录│SendTo 发送到目录┃ ┃StartMenu 开始菜单目录│Startup 启动菜单目录│QuickLaunch 快速启动栏┃ ┃&__LOGS 当前LOGS文件│ │ ┃ ┣━┯━━━━━━━━━━━━━━┷━━━━━━━━━━━━━━━━━┷━━━━━━━━━━━━━━━━━┫ ┃备│在CMD批处理文件中执行PECMD命令时,若要使用PECMD内置的环境变量,请用双对百分号将其包围,如%%Desktop%%┃ ┃注│在CMD窗口或WinGUI程序中执行PECMD命令时,若要使用PECMD内置的环境变量,只需一对百分号即可,如%Desktop%┃ ┗━┷━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ ┃ PECMD - 命令解释程序,支持创建窗口及以下窗口控件 ┃ ┣━━━━━━━━━━━━━┯━━━━━━━━━━━┯━━━━━━━━━━━━━┯━━━━━━━━━━━━┫ ┃ComboBox 下拉选择框│Button 按钮控件│Picture-IMAG 图像区域控件│CheckBox 复选框控件┃ ┃Edit 编辑框控件│HotKey 系统热键│Popup-Menu 托盘图标菜单│Radio 单选框控件┃ ┃ProgressBar-PBAR进度条控件│Group 分组面板│Static-LABE 文本标签控件│Timer 定时器控件┃ ┃DTIM:时间控件 IPAD:IP地址 TIPS:托盘 SPIN:上下控件 MEMO:多行文本编辑│BROW 浏览窗口 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┷━━━━━━━━━━━━┛ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ ┃ PECMD - WinPE Commander 命令解释及说明 ┃ ┣━━┯━━┯━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┫ ┃ │格式│_END ┃ ┃ ├──┼──────────────────────────────────────────────┨ ┃ │功能│结束子过程或结束窗口定义。 ┃ ┃ ├──┼──────────────────────────────────────────────┨ ┃ │参数│■无。 ┃ ┃ ├──┼──────────────────────────────────────────────┨ ┃_END│示例│_END ┃ ┃ ├──┼──────────────────────────────────────────────┨ ┃ │备注│※定义子过程的 _SUB 命令和 _END 命令必须单独一行。即 FIND、IFEX、TEAM 命令内不能定义子过程。┃ ┃ │ │※_SUB 与 _END 之间的命令(即子过程)只被对应的 CALL 命令执行,主流程会跳过这些命令。 ┃ ┃ │ │※ _END 命令必须与 _SUB 命令一一匹配,且子过程内不能再定义子过程。 ┃ ┃ │ │※子过程放在配置文件的任意位置都可以被同一配置文件中的 CALL 命令调用,建议放在文件开始处。 ┃ ┃ │ │※该命令及 _SUB 命令只能在配置文件中使用,不能在命令行下使用。 ┃ ┣━━┿━━┿━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┫ ┃ │格式│_SUB <子过程名> 或 _SUB <窗口名称>,<窗口形状>,[标题],[窗口事件],[图标],[类型] ┃ ┃ ├──┼──────────────────────────────────────────────┨ ┃ │功能│定义子过程或定义一个窗口。 //注意: _SUB后恰好一个空格(0x20) [*] 为函数自动this调用 ┃ ┃ ├──┼──────────────────────────────────────────────┨ ┃ │参数│■子过程名: 字符串。 ┃ ┃ │ │■窗口名称: 字符串,窗口名称应是唯一的,不能与其它控件名称或环境变量名称同名。 ┃ ┃ │ │■窗口标题: 文字。 ┃ ┃ │ │■窗口形状: 窗口位置和大小,格式为,左上宽高均为数值,省略"左上"时窗口居中。 ┃ ┃_SUB│ │■窗口事件: 关闭窗口时执行的命令,必须是 PECMD.EXE 支持的命令。 ┃ ┃ │ │■窗口图标: 窗口标题栏和任务栏的图标,格式为<图标文件名#ID> ┃ ┃ │ │■窗口类型: [-][#][数值],"-"为无标题栏,"#"为无边框窗口,数值为透明度,数值超99为隐藏窗口。┃ ┃ ├──┼──────────────────────────────────────────────┨ ┃ │示例│_SUB DoLoop 或 _SUB Windows1,W360H440,PECMD功能演示,EXEC $使用说明.TXT,%IconFile%#19,20 ┃ ┃ ├──┼──────────────────────────────────────────────┨ ┃ │备注│※子过程名或窗口名的第1个字符不能是"$",命令关键词_SUB与子过程名或窗口名之间必须是1个空格。 ┃ ┃ │ │※若有多个_SUB命令,这些命令定义的名称不能重复,不能近似,也不能用这些名称设置成环境变量。 ┃ ┃ │ │※本命令与_END命令必须成对出现,均不能在命令行中使用,其它参照_END命令、CALL命令的说明。 ┃ ┃ │ │※要设置窗口的标题,可以使用 "ENVI @窗口名称=窗口标题" 来设置 ,参照 ENVI 命令的说明。 ┃ ┣━━┿━━┿━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┫ ┃ │命令│'代码段' ┃ ┃ ├──┼──────────────────────────────────────────────┨ ┃ │格式│ { } 包围的一段代码 //{紧接的*则为this块,PE变量在同级 ┃ ┃ ├──┼──────────────────────────────────────────────┨ ┃ 代 │功能│定义一段代码。有自己的堆栈,退出时自动销毁PE变量和锁,控件,HKEY。相当于内部函数。 ┃ ┃ 码 ├──┼──────────────────────────────────────────────┨ ┃ 段 │示例│ ┃ ┃ ├──┼──────────────────────────────────────────────┨ ┃ │备注│※可在文件级,也可在函数内使用。还可用于命令组。可以嵌套。 ┃ ┃ │ │※文件级和函数级{}必须是一行第一个非空字符。命令组级{必须在组一命令前的开始,}不限。 ┃ ┃ │ │※条件代码段 ┃ ┃ │ │ IFEX/FIND 条件,[!] //有!表示为ELSE部分,无或!!则为IF部分,只能取其一 ┃ ┃ │ │ { ....多行代码 ┃ ┃ │ │ } ┃ ┃ │ │ IFEX/FIND 条件, //不能带! ┃ ┃ │ │ { ....多行代码 //条件真部分 ┃ ┃ │ │ }! ┃ ┃ │ │ { ....多行代码 //条件假部分,!紧挨},!后面可若干空字符,再接{ ┃ ┃ │ │ } ┃ ┃ │ │ LOOP/FORX 条件,[!] [FORX变量,] ┃ ┃ │ │ { ....多行代码 ┃ ┃ │ │ } ┃ ┃ │ │ 说明:内部可嵌套。{}必须在行首,行首可连续混合多个{}。 ┃ ┣━━┿━━┿━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┫ ┃ │格式│ADSL [宽带帐号编码],[宽带密码编码],[拨号重试次数],[宽带连接名称] ┃ ┃ ├──┼──────────────────────────────────────────────┨ ┃ │功能│建立ADSL宽带连接,并按指定的用户帐号编码和用户密码编码进行宽带拨号连接。 ┃ ┃ ├──┼──────────────────────────────────────────────┨ ┃ │参数│■宽带帐号编码: 字符串,由 BASE 命令对"ADSL宽带帐号"计算出的BASE64变异编码。 ┃ ┃ │ │■宽带密码编码: 字符串,由 BASE 命令对"ADSL宽带密码"计算出的BASE64变异编码。 ┃ ┃ │ │■拨号重试次数: 数字,支持16进制数值,省略该参数时为默认值1。 ┃ ┃ │ │■宽带连接名称: 字符串,位于"网上邻居" ==> "属性" 里的ADSL宽带连接名称。 ┃ ┃ ├──┼──────────────────────────────────────────────┨ ┃ADSL│示例│ADSL MhFTxYzM4AUbtR2cuM2btB==,XlmbUV2c0B==,,ADSL宽带连接 或 ADSL ,,,我的宽带连接 ┃ ┃ ├──┼──────────────────────────────────────────────┨ ┃ │备注│※"宽带帐号编码"和"宽带密码编码"必须由BASE命令产生,以确保用户宽带资料的安全。 ┃ ┃ │ │※"拨号重试次数"表示拨号不成功时尝试的次数,设置为0或小于0时表示反复拨号至成功为止。 ┃ ┃ │ │※"宽带连接名称"可以省略,当系统中已存在宽带连接时,ADSL命令将用系统存在的宽带连接进行拨号;┃ ┃ │ │ 当系统中不存在有效的宽带连接时,ADSL命令会按参数建立指定的宽带连接,并按参数进行拨号; ┃ ┃ │ │ 当系统不存在有效的宽带连接且ADSL命令又不指定宽带连接名称时,PECMD命令会建立一个默认的宽带┃ ┃ │ │ 连接,并按参数进行拨号;宽带帐号编码或宽带密码编码省略时,ADSL只建立宽带连接但不拨号。 ┃ ┃ │ │※该命令需系统PPPOE组件的支持;命令既可在配置文件中使用,也可在命令行中使用。 ┃ ┃ │ │※例1将使用"ADSL宽带连接"按指定的参数拨号1次;例2只建立名为"我的宽带连接"的PPPOE拨号连接。 ┃ ┣━━┿━━┿━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┫ ┃ │格式│BASE <字符串>,[变量名] ┃ ┃ ├──┼──────────────────────────────────────────────┨ ┃ │功能│ADSL命令的辅助命令,计算字符串BASE64变异编码,用于加密用户ADSL宽带的密码等数据。 ┃ ┃ ├──┼──────────────────────────────────────────────┨ ┃ │参数│■字符串 : 要计算BASE64变异编码的字符串,支持中英文混合字符串,区分大小写。 ┃ ┃ │ │■变量名 : 用于保存计算结果的变量名。 ┃ ┃BASE├──┼──────────────────────────────────────────────┨ ┃ │示例│BASE mdyblog@163.com,AdslUserName 或 BASE 123,MyPassWord ┃ ┃ ├──┼──────────────────────────────────────────────┨ ┃ │备注│※用BASE命令计算字符串BASE64变异编码时,字符串的字符数限定在256以内(不能含","字符)。 ┃ ┃ │ │※给出变量名,BASE命令计算结果保存到指定的变量中,示例2可通过环境变量%AdslPassWord%来引用。 ┃ ┃ │ │※省略变量名,BASE命令的计算结果以消息窗口的形式显示,同时也将结果保存到粘帖板中。 ┃ ┃ │ │※BASE命令采用BASE64变异算法,计算结果与常规算法不同以确保用户数据安全,也不提供解码命令。 ┃ ┣━━┿━━┿━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┫ ┃ │格式│BROW <变量名称>,[[*|&]初始路径],[提示文字],[扩展名称],[附加标志] ┃ ┃ ├──┼──────────────────────────────────────────────┨ ┃ │功能│浏览磁盘文件和目录。 ┃ ┃ ├──┼──────────────────────────────────────────────┨ ┃ │参数│■变量名称: 用于保存浏览结果的变量名。 ┃ ┃ │ │■初始路径: 为浏览窗口默认选中的文件或目录,省略该参数时定位到系统默认的路径;前导符"*"为浏 ┃ ┃ │ │ 览目录对话框,前导符"&"为保存文件对话框,省略前导符为打开文件对话框。 ┃ ┃ │ │■提示文字: 可以省略,省略时默认的文字为系统默认的文字提示。 ┃ ┃ │ │■扩展名称: 浏览指定扩展名的文件,省略表示所有文件。 ┃ ┃BROW│ │■附加标志: 浏览目录对话框界面风格设置,默认为"无[编辑框],有[新建文件夹]按钮,不显示文件",┃ ┃ │ │ 有编辑框标志为0x10,无新建文件夹按钮标志为0x200,显示文件标志为0x4000,若要同时 ┃ ┃ │ │ 设置多种风格,请使用这些标志值的"或"运算值或这些标志值之和。 ┃ ┃ ├──┼──────────────────────────────────────────────┨ ┃ │示例│BROW Boot_Ini,C:\Windiws\BOOT.INI,请选择一个文件,INI 或 BROW Tag,*C:\Windiws,请选择一个目录 ┃ ┃ ├──┼──────────────────────────────────────────────┨ ┃ │备注│※目录浏览框"有编辑框、无新建文件夹按钮、显示文件"三项标志之和的16进制值为0x4210。 ┃ ┃ │ │※本命令会打开一个文件目录浏览对话窗,让用户浏览磁盘文件目录,用户可选择某个文件或目录。 ┃ ┃ │ │※选择结果将保存在指定的进程环境变量中。示例2可通过环境变量 %Tag% 来引用。 ┃ ┃ │ │※BROW命令必须在INIT命令之后或在桌面执行。 ┃ ┣━━┿━━┿━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┫ ┃ │格式│CALC [-base=16] [#]<变量名称><=><表达式>[#小数位数] ┃ ┃ ├──┼──────────────────────────────────────────────┨ ┃ │功能│计算"数学式子"的值,并将运算结果保存到指定名称的"变量"中。 ┃ ┃ ├──┼──────────────────────────────────────────────┨ ┃ │参数│■前导"#" : 表示所有变量按 int64 型数据来处理,省略或$表示按double型数据来处理; ┃ ┃ │ │■后缀"#" : 表示运算结果按double型数据来处理时,保留的小数位数,默认尽可能多,最多16位; ┃ ┃ │ │■变量名称: 用字符串表示,不能与其它已设置的名称和环境变量同名; ┃ ┃ │ │■表达式中可以是具体数值,也可以是已存在的变量; 支持科学计数法输入。 ┃ ┃CALC│ │■支持运算符号: 或"||";与"&&";异或"@@";位或"|";位与"&";位异或"@";=,<>;>,>=,<,<=;"+" ┃ ┃ │ │ ,"-";乘"*",除"/",余"%";幂"^",和刮号()[]{},级别依次优先。项数不限。 ┃ ┃ │ │ 支持的括符解释: 花括符"{ }"、中括符"[ ]"和圆括符"( )"。       ┃ ┃ │ │ 支持的数学常数: e (表示欧拉常数)、pi (表示圆周率π),共2个数学常量。      ┃ ┃ │ │ 支持的数学函数: abs(a) 绝对值函数、arccos(a) 反余弦函数、arcctg(a) 反余切函数┃ ┃ │ │ arcsin(a) 反正弦函数、arctan(a) 反正切函数、ceil(a) 向上整数┃ ┃ │ │ cos(a) 余弦函数、ctg(a) 余切函数、deg(a) 弧度转角度┃ ┃ │ │ div(a,b) 整除函数、exp(a) e的幂函数、frac(a) 取小数函数┃ ┃ │ │ floor(a) 向下整数、hypot(a,b) 弦长函数、int(a) 取整函数┃ ┃ │ │ lg(a) 常用对数、ln(a) 自然对数、log(a,b) 对数函数┃ ┃ │ │ max(a,b) 最大值函数、min(a,b) 最小值函数、mod(a,b) 余数函数┃ ┃ │ │ pow(a,b) 幂函数、pow10(a) 10的幂函数、rad(a) 角度转弧度┃ ┃ │ │ rand(a) 随机函数、round(a) 4舍5入取整、shl(a,b) 位左移函数┃ ┃ │ │ shr(a,b) 位右移函数、sin(a) 正弦函数、sqrt(a) 开方函数┃ ┃ │ │ tan(a) 正切函数、xor(a) 位异或函数,共计32个数学函数。 ┃ ┃ ├──┼──────────────────────────────────────────────┨ ┃ │示例│◆CALC #Sum = (1024-40)/2 或 CALC #Sum = %Datum1%^2+%Datum2%^2 ┃ ┃ ├──┼──────────────────────────────────────────────┨ ┃ │备注│※数学式子中的变量(如示例的%R%)可用ENVI命令来直接设置(赋值),也可是CALC命令运算赋值的结果; ┃ ┃ │ │※数学式子中的常数既支持10进制数值,也支持16进制数值,如 CALC A = 0x100*2; ┃ ┃ │ │※含或"|"运算符的 CALC 命令不能套在 TEAM 命令中;要比较数值大小可用 IFEX $命令来判断。 ┃ ┣━━┿━━┿━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┫ ┃ │格式│CALL $,[函数],[[#]参数1],[[#]参数2],[[#]参数3],[[#]参数4],... ┃ ┃ │ │CALL <过程名>[ 参数表] 或 CALL @<窗口名>[ 参数表] ┃ ┃ ├──┼──────────────────────────────────────────────┨ ┃ │功能│调用DLL函数 或 调用子过程。 ┃ ┃ ├──┼──────────────────────────────────────────────┨ ┃ │参数│■前导"$"表示调用DLL函数,指定DLL路径、函数名和参数。省略函数名,将调用"DllRegisterServer",┃ ┃ │ │ 参数默认为UNICODE字符串,如果以"#"前导则表示整数;最多支持12个函数参数。 ┃ ┃ │ │■前导"@"表示调用由_SUB命令定义的窗口,不要在_SUB命令定义的窗口内执行CALL @调用另一个窗口。 ┃ ┃ │ │■省略前导"$"表示调用子过程,参数为子过程名称。 ┃ ┃CALL├──┼──────────────────────────────────────────────┨ ┃ │示例│◆调用DLL函数 : CALL $SHELL32.DLL,DllInstall,#1,U ┃ ┃ │ │◆调用窗口过程: CALL @Window1 ┃ ┃ │ │◆调用子过程 : FIND MEM>127,CALL EXPLORER_SHELL!CALL CMD_SHELL ┃ ┃ ├──┼──────────────────────────────────────────────┨ ┃ │备注│※调用DLL函数 : DLL中的函数必须以 STDCALL 方式导出。 ┃ ┃ │ │※调用窗口过程: 用CALL 的前导"@"调用窗口时,该CALL命令后的命令将暂停执行,直至窗口关闭。 ┃ ┃ │ │※调用子过程 : CALL命令只能调用同一配置文件内的子过程,CALL命令调用子过程的功能不能在命令行┃ ┃ │ │ 中使用,其它参照_SUB和_END命令的说明。%&&__arg%为参数表 ┃ ┃ │ │ 中使用,其它参照_SUB和_END命令的说明。 ┃ ┣━━┿━━┿━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┫ ┃ │格式│CHEK <复选框名称>,<复选框形状>,[复选框标题],[复选框事件],[复选框状态] ┃ ┃ ├──┼──────────────────────────────────────────────┨ ┃ │功能│在_SUB定义的窗口内建立一个复选框控件。 ┃ ┃ ├──┼──────────────────────────────────────────────┨ ┃ │参数│■复选框名称: 字符串,复选框的名称应是唯一的,不能与其它控件名称或环境变量名称同名。 ┃ ┃ │ │■复选框形状: 复选框位置和大小,格式为,左上宽高均为数值。 ┃ ┃ │ │■复选框标题: 复选框上的文字,用于描述复选框的功能或说明。 ┃ ┃CHEK│ │■复选框事件: 点击该复选框时执行的命令,必须是 PECMD 支持的有效命令。 ┃ ┃ │ │■复选框状态: 数字,1或-1为钩选状态,0,2或-2为没有钩选,小于0为灰色不可用状态。 ┃ ┃ ├──┼──────────────────────────────────────────────┨ ┃ │示例│CHEK Check1,L180T336W100H20,可写挂载,,1 ┃ ┃ ├──┼──────────────────────────────────────────────┨ ┃ │备注│※CHEK命令必须位于_SUB命令和_END命令之间,其它位置的CHEK命令无效,参照_SUB、CALL命令说明。 ┃ ┃ │ │※环境变量: %复选框名称% 为复选框标题,设置标题,可用 "ENVI @复选框名称=复选框标题" 来设置。┃ ┃ │ │※可用"ENVI @复选框名称.Check=数值"来设置复选框钩选状态,0为未钩选状态;1为钩选状态。 ┃ ┃ │ │※可用"ENVI @复选框名称.Enable=数值"来设置复选框可用状态,0为禁用状态;1为可用状态。 ┃ ┣━━┿━━┿━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┫ ┃ │格式│DATE [变量名] ┃ ┃ ├──┼──────────────────────────────────────────────┨ ┃ │功能│返回系统当前日期和时间 ┃ ┃ ├──┼──────────────────────────────────────────────┨ ┃ │参数│■变量名 用于保存系统当前日期和时间的变量名称 ┃ ┃DATE├──┼──────────────────────────────────────────────┨ ┃ │示例│DATE SysDate ┃ ┃ ├──┼──────────────────────────────────────────────┨ ┃ │备注│※返回结果以"年-月-日|星期|时:分:秒"的形式保存在指定的变量中,要取出其中的"日期"或"时间", ┃ ┃ │ │ 请用 PECMD 的 字符串处理命令(LPOS、RPOS、LSTR、MSTR、RSTR)来处理; ┃ ┃ │ │※若省略"变量名"时,结果保存在环境变量%CurDate%中,示例的结果可能是"2008-8-8|5|20:8:8"。 ┃ ┣━━┿━━┿━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┫ ┃ │格式│DEVI [$][\]<驱动文件INF/CAB/DIR>,[匹配级别],[释放目录][|类别] ┃ ┃ ├──┼──────────────────────────────────────────────┨ ┃ │功能│解压CAB压缩文件、或从CAB驱动包、INF文件或指定的目录中查找(并安装)驱动程序。 ┃ ┃ ├──┼──────────────────────────────────────────────┨ ┃ │参数│■驱动文件: CAB格式压缩驱动包文件名或INF格式文件名,支持环境变量; ┃ ┃ │ │■前导 "$": 表示解压缩驱动文件后安装驱动,否则只解压;INF文件不管是否有前导"$"都无条件安装;┃ ┃ │ │■前导 "\": 表示查找所有分区匹配目录中的CAB文件或INF文件; ┃ ┃ │ │■匹配级别: 数值1~3省略时默认为2,匹配级别越高,解压出文件越少,但可能无法搜索到可用驱动; ┃ ┃ │ │ 匹配级别越低,解压出的文件也越多,即可能解压出多余的文件; ┃ ┃ │ │■释放目录: CAB文件被解压时释放到的目录名称,NT5.x系统中若设置前导'$'则[释放目录]将被忽略。 ┃ ┃ ├──┼──────────────────────────────────────────────┨ ┃ │示例│DEVI $%CurDir%\外置驱动包\DRV.CAB 或 DEVI $%CurDir%\外置驱动包\*.CAB ┃ ┃ │ │DEVI %SystemRoot%\Inf\CX_29124.INF 或 DEVI %SystemRoot%\Inf\*.INF ┃ ┃ │ │DEVI \外置程序\外置驱动包\DRIVERS_VGA.CAB 或 DEVI $\外置程序\外置驱动包\*.CAB ┃ ┃ │ │DEVI $\外置程序\外置驱动包\DRIVERS_VGA.CAB,,%RamDisk%\DrvTemp ┃ ┃DEVI│ │TEAM DEVI $\外置程序\外置驱动包\Display.CAB,,%RamDisk%\DrvTemp|FILE %RamDisk%\DrvTemp ┃ ┃ │ │TEAM DEVI \外置程序\Tools.CAB,,%Programs%\MyTools|LOAD %Programs%\MyTool\MyTools.INI ┃ ┃ ├──┼──────────────────────────────────────────────┨ ┃ │备注│※此命令使用自定的(而非系统的)驱动搜索算法,可快速解压缩可能用到的驱动程序,因此,一个设备可┃ ┃ │ │ 能搜索到多个驱动程序,可以通过设置"匹配级别"来减少搜索到的驱动程序。 ┃ ┃ │ │※在CAB中每个驱动单独放在一个目录,建议用配套程序PECAB或XCAB增强版来制作CAB文件,以保证CAB中┃ ┃ │ │ 的INF文件在当前目录最前面;NT5.x系列PE的INF文件须经过处理,NT6.x系列PE的INF文件无须处理。 ┃ ┃ │ │※驱动文件是CAB时,NT5.x系统中,前导'$'和[释放目录]不能同时设置,但可同时省略。设置前导'$'时┃ ┃ │ │ [释放目录]将被忽略;省略前导'$'时只解压文件;省略[释放目录]时,将进行驱动匹配解压,INF文件┃ ┃ │ │ 被解压到 "%WinDir%\INF" 目录,SYS文件解压到 "%WinDir%\SYSTEM32\DRIVERS" 目录,其它文件解压┃ ┃ │ │ 到" %WinDir%\SYSTEM32" 目录。 ┃ ┃ │ │※驱动文件是CAB压缩包时,NT6.x系统中,[释放目录]不能省略,前导'$'可以省略。DEVI命令会将CAB压┃ ┃ │ │ 缩文件按目录结构解压到指定目录中,当有前导'$'时表示解压后安装目标目录的驱动文件。 ┃ ┃ │ │※NT6.x系列WinPE中,用DEVI命令安装"%WinDir%\INF"的INF文件将不进行硬件ID匹配检查(直接安装)。 ┃ ┃ │ │※示例1、示例2是从CAB压缩包中查找并安装驱动;示例3、示例4是从系统的INF文件夹中安装驱动。 ┃ ┃ │ │※此命令还有一个功能:从本地磁盘中搜索驱动,如"DEVI \Windows\Inf=Display";但此功能未完善。 ┃ ┣━━┿━━┿━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┫ ┃ │格式│DFMT <盘符字母>,<磁盘格式>,[磁盘卷标],[快格磁盘],[单元大小] ┃ ┃ ├──┼──────────────────────────────────────────────┨ ┃ │功能│格式化磁盘 ┃ ┃ ├──┼──────────────────────────────────────────────┨ ┃ │参数│■盘符字母: 指定将被格式化的磁盘卷; ┃ ┃ │ │■磁盘格式: 支持 FAT、FAT32、NTFS、exFAT格式,设置时将按参数格式化,省略时不对磁盘作格式化;┃ ┃ │ │■磁盘卷标: 格式化磁盘时设置的卷标; ┃ ┃DFMT│ │■快格磁盘: 数值,1表示快速格式化,0表示默认格式化,省略时该参数时表示快速格式化; ┃ ┃ │ │■单元大小: 数值,省略或设置为0表示默认,非0值为512*(2^n),即512、1024、2048、...、65536。 ┃ ┃ ├──┼──────────────────────────────────────────────┨ ┃ │示例│DFMT E:,FAT32 或 DFMT R:,NTFS,RamDisk,1 ┃ ┃ ├──┼──────────────────────────────────────────────┨ ┃ │备注│※该命令提供支持格式化硬盘、虚拟硬盘的功能,不支持格式化软盘; ┃ ┃ │ │※单元大小建议采用默认值0或省略设置单元大小; ┃ ┃ │ │※该命令采用静默方式执行,不提供任何显示信息,操作时要格外小心。 ┃ ┣━━┿━━┿━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┫ ┃ │格式│DISK [变量名],[硬盘号],[分区号],[功能号],[U盘卷] ┃ ┃ ├──┼──────────────────────────────────────────────┨ ┃ │功能│读取硬盘信息、卸载或分配盘符卷。 ┃ ┃ ├──┼──────────────────────────────────────────────┨ ┃ │参数│■变量名: 字符串,可以是盘符、以'\'开头的Windows系统目录名、字符串变量名或空值四种形式; ┃ ┃ │ │■硬盘号: 数值,以0为基数的硬盘序号,可省略; ┃ ┃ │ │■分区号: 数值,以1为基数的分区序号,可省略; ┃ ┃ │ │■功能号: 数值,省略为默认值0; ┃ ┃ │ │■U盘卷 : 字母或盘符表示,可省略。 ┃ ┃ ├──┼──────────────────────────────────────────────┨ ┃ │示例│DISK ,,,1,U: 或 DISK ,,,2,U: 或 DISK uDisk,,, 或 DISK \Windows|\WinXP|\WinNT|\Windows7,,,1,U┃ ┃ │ │DISK uAllPart,,1 或 DISK Part,0 或 DISK ,1,3 或 DISK E:,1,4,1 或 DISK Vol,0,2 或 DISK ,,,3,U┃ ┃ ├──┼──────────────────────────────────────────────┨ ┃ │1 │DISK ,,,功能号[,U盘卷] ┃ ┃ │备注│※"硬盘号"、"分区号"、"变量名"均为空值时,"功能号"不为空值时,根据"功能号"以下几 ┃ ┃ │ │ 种情况的数值分配机子硬盘的盘符: ┃ ┃ │1.1 │DISK ,,,1[,U盘卷] ┃ ┃DISK│ │ 1、给所有可见分区按固定硬盘序号和分区序号重新分配盘符,见示例1; ┃ ┃ │1.2 │DISK ,,,2[,U盘卷] ┃ ┃ │ │ 2、先给各固定硬盘的第一分区分配盘符再给各硬盘的其它分区分配盘符,见示例2 ┃ ┃ │1.3 │DISK ,,,3,U盘卷 ┃ ┃ │ │ 3、不调整固定硬盘和移动硬盘的盘符,只调整U盘盘符,见示例10; ┃ ┃ │2 │DISK 变量名[,,,功能号][,U盘卷] ┃ ┃ │ │※"硬盘号"、"分区号"均为空值,"变量名"非空值时,根据"变量名"以下两种形式执行相应的功能 ┃ ┃ │2.1 │DISK 变量名 ┃ ┃ │ │ 1、"变量名"是字符串变量形式时,将本机的硬盘数赋值给指定的"变量名",见示例3; ┃ ┃ │2.2 │DISK \系统目录名[,,,功能号][,U盘卷] ┃ ┃ │ │ 2、"变量名"是以'\'开头的系统目录名时,搜索并加载硬盘上的系统注册表,按硬盘系统方式分配盘 ┃ ┃ │ │ 符,若要搜索多种可能的系统目录名,它们之间可用'|'隔开(见示例4);该 功能执行失败时,再 ┃ ┃ │ │ 根据"功能号"的数值执行后续的分配盘符方案,后续的分配盘符方案,见示例1、示例2和示例10;┃ ┃ │3 │DISK 变量名,,分区号 ┃ ┃ │ │※"硬盘号"为空值,"分区号"不为空值时,将本机硬盘的加载分区数赋值给指定的"变量名",见示例5; ┃ ┃ │4 │DISK 变量名,硬盘号 ┃ ┃ │ │※"硬盘号"不为空值,"分区号"为空值时,将指定硬盘的加载分区数赋值给指定的"变量名",见示例6; ┃ ┃ │5 │DISK [变量名],硬盘号,分区号 ┃ ┃ │ │※"硬盘号"不为空值,"分区号"也不为空值时,根据"变量名"的格式按以下三种情况处理: ┃ ┃ │5.1 │DISK ,硬盘号,分区号 ┃ ┃ │ │ 1、"变量名"为空值时,则卸载该硬盘分区分配的盘符卷,见示例7; ┃ ┃ │5.2 │DISK 盘符卷,硬盘号,分区号,[功能号] ┃ ┃ │ │ 2、"变量名"为盘符卷时(如 E: 或 E:\),为硬盘分区分配指定的盘符卷,"功能号"省略或为0时,若 ┃ ┃ │ │ 为隐藏分区则不分配盘符卷,"功能号"为非0时不管是否为隐藏分区均分配盘符卷,见示例8; ┃ ┃ │5.3 │DISK 变量名,硬盘号,分区号 ┃ ┃ │ │ 3、"变量名"不为空值,且不符合盘符形式时,将该分区的盘符赋值给指定的"变量名",见示例9; ┃ ┃ │ │※"U盘卷"表示自动整理盘符时给USB Flash Disk(闪存盘)分配的起始盘符,省略表示不整理U盘盘符; ┃ ┃ │ │※整理盘符命令要放在PECMD.INI最前面。 ┃ ┣━━┿━━┿━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┫ ┃ │格式│DISP [W水平分辨率H垂直分辨率][B颜色深度][F刷新率][T等待(毫秒)] ┃ ┃ ├──┼──────────────────────────────────────────────┨ ┃ │功能│设置显示参数。 ┃ ┃ ├──┼──────────────────────────────────────────────┨ ┃DISP│参数│■分别指定屏幕参数,如果所有参数都省略则表示自动设置显示属性。 ┃ ┃ ├──┼──────────────────────────────────────────────┨ ┃ │示例│DISP W1024 H768 B32 F70 T5000 或 DISP ┃ ┃ ├──┼──────────────────────────────────────────────┨ ┃ │备注│※前三组参数可单独使用,如要设置刷新率为75,使用 DISP F75 即可。 ┃ ┣━━┿━━┿━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┫ ┃ │格式│DTIM [-right] <名称>,<形状>,[初始值],[事件],[类型] ┃ ┃ ├──┼──────────────────────────────────────────────┨ ┃ │功能│建立一个日期/时间器。 ┃ ┃ ├──┼──────────────────────────────────────────────┨ ┃ │参数│■名称: 字串,编辑框名称应是唯一的,不能与其它控件名称或环境变量名称同名。 ┃ ┃ │ │■形状: 编辑框位置和大小,格式为,左上宽高均为数值。 ┃ ┃ │ │■初始值: 字串,初始化编辑框时填入的文字内容。\n或原生换行。逗号可用变量(事件同)。 ┃ ┃DTIM│ │■事件: 在编辑框内按下回车键或双击时执行的命令,必须是 WinCMD 支持的有效命令。 ┃ ┃ │ │■类型: 数字(累加),默认为0,正常编辑框,负号为灰色禁用,0x10位不可见。0x20位长日期格式, ┃ ┃ │ │ 0x40位时间格式,0x80位短世纪日期格式,默认短日期格式。0x100位上下键调整。0x200带勾选器┃ ┃ ├──┼──────────────────────────────────────────────┨ ┃ │示例│ DTIM Dtim1,L32T244W240H24,2008;5;12,Mess,0x200 ┃ ┃ ├──┼──────────────────────────────────────────────┨ ┃ │备注│※该命令一般位于_SUB命令和_END命令之间,参照_SUB、CALL命令说明。 ┃ ┃ │ │※可用"ENVI @名称.Enable=数值",0为禁用状态;1为可用状态(不响应)。 ┃ ┃ │ │※可用"ENVI @名称.Visable=数值"来设置可见状态;0为不可见,非0为可见。 ┃ ┣━━┿━━┿━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┫ ┃ │格式│EDIT <编辑框名称>,<编辑框形状>,[编辑框内容],[编辑框事件],[编辑框类型] ┃ ┃ ├──┼──────────────────────────────────────────────┨ ┃ │功能│在_SUB定义的窗口内建立一个单行文本编辑框。 ┃ ┃ ├──┼──────────────────────────────────────────────┨ ┃ │参数│■编辑框名称: 字串,编辑框名称应是唯一的,不能与其它控件名称或环境变量名称同名。 ┃ ┃ │ │■编辑框形状: 编辑框位置和大小,格式为,左上宽高均为数值。 ┃ ┃ │ │■编辑框内容: 字串,初始化编辑框时填入的文字内容。 ┃ ┃EDIT│ │■编辑框事件: 在编辑框内按下回车键时执行的命令,必须是 PECMD 支持的有效命令。 ┃ ┃ │ │■编辑框类型: 数值,1为密码输入框,2为禁用编辑框,3为只读编辑框,省略或其它值为正常编辑框。 ┃ ┃ ├──┼──────────────────────────────────────────────┨ ┃ │示例│EDIT Edit1,L32T244W240H24,C:\Windows,ENVI @Label1=%Edit1% ┃ ┃ ├──┼──────────────────────────────────────────────┨ ┃ │备注│※EDIT命令必须位于_SUB命令和_END命令之间,其它位置的EDIT命令无效,参照_SUB、CALL命令说明。 ┃ ┃ │ │※要设置编辑框的文字内容,可使用 "ENVI @编辑框名称=文本内容" 来设置,参照 ENVI 命令的说明。 ┃ ┃ │ │※可用"ENVI @编辑框名称.Enable=数值"来设置编辑框的可用状态;0为不可用状态,非0为可用状态。 ┃ ┃ │ │※可用"ENVI @编辑框名称.ReadOnly=数值"来设置编辑框的只读状态;0为非只读状态,非0为只读状态。┃ ┣━━┿━━┿━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┫ ┃ │格式│EJEC [C-|U-|X:],[操作标识] ┃ ┃ ├──┼──────────────────────────────────────────────┨ ┃ │功能│弹出或关闭指定的CDROM驱动器托盘;移除指定的USB驱动器。 ┃ ┃ ├──┼──────────────────────────────────────────────┨ ┃ │参数│■参数"C-" 将操作所有可能的CDROM光驱的托盘; ┃ ┃ │ │■参数"U-" 将移除所有可能的USB磁盘; ┃ ┃EJEC│ │■参数"X:" 将操作指定盘符的CDROM光驱或USB磁盘; ┃ ┃ │ │■操作标识 数值,指定弹出或关闭CDROM驱动器托盘,省略默认为0,表示弹出操作,非0表示关闭操作。┃ ┃ ├──┼──────────────────────────────────────────────┨ ┃ │示例│EJEC C- 或 EJEC U- 或 EJEC H: 或 EJEC H:,1 或 EJEC C-,1 ┃ ┃ ├──┼──────────────────────────────────────────────┨ ┃ │备注│※本命令为系统托盘没有U盘管理图标的精简PE使用;对于有U盘管理图标的PE,建议使用系统托盘图标。┃ ┃ │ │※本命令不要在配置文件中使用;INIT命令带"I"参数会将本命令的功能安装到托盘图标的菜单中。 ┃ ┣━━┿━━┿━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┫ ┃ │格式│ENVI[-def] [$|#|@|*][名称][[=]值] ┃ ┃ │格式│ENVI -mode 控制命令 ┃ ┃ ├──┼──────────────────────────────────────────────┨ ┃ │功能│设置或清除环境变量。 ┃ ┃ ├──┼──────────────────────────────────────────────┨ ┃ │ │■后缀"~" 后面的值作为另一变量名,再取其值。数组取值。 本级-def 定义PE变量 ┃ ┃ │参数│■指定环境变量名称和值。如果省略前导符且不指定值,则为删除指定名称的环境变量。 ┃ ┃ │ │■前导"$"表示设置系统环境变量,前导"#"表示设置用户环境变量,省略前导符表示设置进程环境变量。┃ ┃ │ │■前导"@"表示设置窗口控件的名称或窗口控件的文本标题。 ┃ ┃ENVI│ │■前导"*"(省略名称和值)表示将光驱的盘符以 CDROM0、CDROM、CDROM1、CDROM2 等写入系统环境变量。┃ ┃ ├──┼──────────────────────────────────────────────┨ ┃ │示例│ENVI TEMP=%SystemDrive%\TEMP 或 ENVI~ VI=V[%I%] //数组取值 ENVI-def &ABC= ┃ ┃ ├──┼──────────────────────────────────────────────┨ ┃ │备注│※如果使用"EXEC"执行的程序,会自动继承本程序的环境变量,换句话说,如果在配置文件中设置带"$" ┃ ┃ │ │ 或 "#" 的环境变量,对后面的"EXEC"程序中也会有效。#$后*只设置系统,不广播,后面可EIVI广播 ┃ ┃ │ │※在命令提示符下,可以通过没有参数的ENVI命令刷新环境变量。 ┃ ┃ │ │※当仅有参数"$"时,则初始化用户文件夹,命令提示符下也可刷新环境变量。 ┃ ┃ │ ├──────────────────────────────────────────────┨ ┃ │ │※刷新桌面: ENVI @@DeskTopFresh=1 //刷新桌面和我的电脑窗口 ┃ ┃ │ │※刷新桌面: ENVI @@DeskTopFresh=2 //专业刷新桌面,只刷新桌面 ┃ ┃ │ ├──────────────────────────────────────────────┨ ┃ │ │※开启托盘菜单: ENVI @@TaskIcoMenu=1 ┃ ┃ │ │※关闭托盘菜单: ENVI @@TaskIcoMenu=0 ┃ ┃ │ │※托盘菜单开启/关闭切换: ENVI @@TaskIcoMenu=2 ┃ ┃ │ │※一般在系统级热键中用,操作的是系统级托盘。应用程序中使用则是程序级,程序退出自动消除。 ┃ ┃ │ ├──────────────────────────────────────────────┨ ┃ │ │※刷新桌面: ENVI @@DeskTopFresh=1 //刷新桌面和我的电脑窗口 ┃ ┃ │ │※刷新桌面: ENVI @@DeskTopFresh=2 //专业刷新桌面,只刷新桌面 ┃ ┃ │ ├──────────────────────────────────────────────┨ ┃ │ │■ENVI @@POSTMSG=[:变量名;]窗口号;消息号[;参数wPrm[;参数lPrm]][第2组...] //异步发送消息 ┃ ┃ │ │■ENVI @@SENDMSG=[:变量名;]窗口号;消息号[;参数wPrm[;参数lPrm]][第2组...] //同步发送消息 ┃ ┃ │ ├──────────────────────────────────────────────┨ ┃ │ │※开关ENVI $#广播:ENVI -mode EnviBroad=0/1 // 1为开启(默认) 0为关闭 ┃ ┃ │ ├──────────────────────────────────────────────┨ ┃ │ │※开关PE变量模式:ENVI -mode Forcelocal=0/1 // 1为开启 0为关闭(默认) ┃ ┣━━┿━━┿━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┫ ┃ │格式│EXEC [-catch] [-hook] [-wd:工作目录] [-exe:<文件名§#资源名|资源目录>] ┃ ┃ │ │ [PE变量名][=][@][$][[*]||[&][_ ]命令参数 ┃ ┃ ├──┼──────────────────────────────────────────────┨ ┃ │功能│执行 EXE 、BAT、CMD 、TXT 程序。 //注意:文件名有空字符需要""刮起来 ┃ ┃ ├──┼──────────────────────────────────────────────┨ ┃ │参数│指定程序路径和参数。前导参数如下(不分先后顺序,"*"、"_ "、"&"不能同时使用,其余可同时使用): ┃ ┃ │ │■前导"="表示等待执行完毕,否则在后台并行运行。 ┃ ┃ │ │■前导"@"表示在后台桌面(WinLogon)执行,彻底隐藏,无法与用户交互,可用于注册,如: ┃ ┃ │ │ "EXEC @PECMD.EXE CALL $SHELL32.DLL,DllInstall,#1,U"。 ┃ ┃EXEC│ │■前导"$"表示以ShellExecute函数执行,用于打开非可执行文件(如 .TXT、.BMP 等)。 ┃ ┃ │ │■前导"*"表示以隐藏方式执行。 ┃ ┃ │ │■前导"_ "表示以最小化方式执行。_后接一个空格。 ┃ ┃ │ │■前导"&"表示以最大化方式执行。 ┃ ┃ │ │■--catch为捕捉模式,对应后面PE变量名。 ┃ ┃ ├──┼──────────────────────────────────────────────┨ ┃ │示例│EXEC =!CMD.EXE /C "DEL /Q /F %TEMP%" ┃ ┃ ├──┼──────────────────────────────────────────────┨ ┃ │备注│※省略"*"、"_"、"&"时将以默认的大小执行。 ┃ ┣━━┿━━┿━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┫ ┃ │格式│EXIT [脚本类型] ┃ ┃ ├──┼──────────────────────────────────────────────┨ ┃ │功能│退出当前的CALL命调用的子过程,或退出LOAD命令调用的配置文件过程,或退出LOOP调用的循环命令。 ┃ ┃ ├──┼──────────────────────────────────────────────┨ ┃ │参数│■脚本类型: 用 [数值或命令] 表示。 ┃ ┃EXIT│ │ ◆数值: 可取"1~4",分别指当前过程、当前文件、当前搜索、当前循环;不带参数代表1~4。 ┃ ┃ │ │ ◆命令: 可用FILE、WIN、_SUB、FORX、LOOP、BREAK、CONTINUE,- 分别指当前窗口,当前文件,当前 ┃ ┃ │ │ 函数,当前搜索,当前循环,退出FORX或LOOP,跳到FORX或LOOP下一轮,当前块。 ┃ ┃ │ │ EXIT ToWIN 则中止函数执行,立即返回窗口控制。 ┃ ┃ ├──┼──────────────────────────────────────────────┨ ┃ │示例│IFEX $%Val%=10,EXIT Loop 或 FIND $%Cancel%=YES,EXIT File!EXIT _Sub 或 EXIT Forx 或 EXIT 1 ┃ ┃ ├──┼──────────────────────────────────────────────┨ ┃ │备注│※示例1表示Val为10时退出当前循环;示例2表示变量Cancel为YES时退出当前文件,否则退出当前过程。┃ ┣━━┿━━┿━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┫ ┃ │格式│FBWF [P可用内存百分数] [L最小值] [H最大值] ┃ ┃ ├──┼──────────────────────────────────────────────┨ ┃ │功能│设置FBWF缓存 ┃ ┃ ├──┼──────────────────────────────────────────────┨ ┃FBWF│参数│■最大值、最小值均为MB。 ┃ ┃ ├──┼──────────────────────────────────────────────┨ ┃ │示例│FBWF P20 L32 H64 ┃ ┃ ├──┼──────────────────────────────────────────────┨ ┃ │备注│※三个参数都可单独使用,如 FBWF L64 表示强制设置 64M 的 FBWF;FBWF命令必须在 MOUN 命令之后。┃ ┣━━┿━━┿━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┫ ┃ │格式│FDIR <变量名><=><文件名> ┃ ┃ ├──┼──────────────────────────────────────────────┨ ┃ │功能│返回指定"文件名"所在的目录名(最后无"\") ┃ ┃ ├──┼──────────────────────────────────────────────┨ ┃ │参数│■变量名 用于保存目录名的变量名称; ┃ ┃FDIR│ │■文件名 合法的文件名称。 ┃ ┃ ├──┼──────────────────────────────────────────────┨ ┃ │示例│FDIR fPath=C:\Windows\System32\calc.exe 或 FDIR aPath=%CurDir%\Path1\Path2\FileName ┃ ┃ ├──┼──────────────────────────────────────────────┨ ┃ │备注│※当文件名是相对路径时,返值结果是 PECMD.EXE 的工作目录或配置文件的工作目录; ┃ ┃ │ │※示例1结果是"C:\Windows\System32",示例2结果是"%CurDir%\Path1\Path2"。 ┃ ┣━━┿━━┿━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┫ ┃ │格式│FDRV <变量名><=>[文件目录名] ┃ ┃ │ │FDRV <变量名>= //返回系统所有盘符,返回值是 C:|D:|E:|F:|.... 的形式。 ┃ ┃ ├──┼──────────────────────────────────────────────┨ ┃ │功能│返回指定"文件目录名"所在的分区盘符(以":"结束,最后无"\")或系统所有盘符。 ┃ ┃ ├──┼──────────────────────────────────────────────┨ ┃ │参数│■变量名: 用于保存分区盘符的变量名称; ┃ ┃FDRV│ │■文件名: 合法的文件目录名称(也可省略,省略时另有意义,见《备注》的解释。 ┃ ┃ ├──┼──────────────────────────────────────────────┨ ┃ │示例│FDRV fDrive=C:\Windows\System32\calc.exe 或 FDRV AllDrive= ┃ ┃ ├──┼──────────────────────────────────────────────┨ ┃ │备注│※当文件名是相对路径时,返值结果是 PECMD.EXE 的工作目录或配置文件的工作目录所在的分区盘符; ┃ ┃ │ │※当省略"文件目录名"时返回系统所有盘符,返回值是 C:|D:|E:|F:|.... 的形式。 ┃ ┃ │ │※示例1结果是"C:",示例2结果是系统所有盘符的列表(注意这个列表不是固定的,会随时发生变化)。 ┃ ┣━━┿━━┿━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┫ ┃ │格式│FEXT <变量名><=><文件名> ┃ ┃ ├──┼──────────────────────────────────────────────┨ ┃ │功能│返回指定"文件名"的扩展名(不带".") ┃ ┃ ├──┼──────────────────────────────────────────────┨ ┃ │参数│■变量名: 用于保存扩展名的变量名称; ┃ ┃FEXT│ │■文件名: 合法的文件名称。 ┃ ┃ ├──┼──────────────────────────────────────────────┨ ┃ │示例│FEXT fExt=C:\Windows\System32\calc.exe 或 FEXT aExt=X:\Path1\Path2\FileName ┃ ┃ ├──┼──────────────────────────────────────────────┨ ┃ │备注│※示例1结果是"exe",示例2返回结果是空值; ┃ ┃ │ │※FDIR、FDRV、FEXT 的返回值都可以用 FIND 命令检测或比较。 ┃ ┣━━┿━━┿━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┫ ┃ │格式│FILE <文件路径>[操作符号][目标名称] ┃ ┃ ├──┼──────────────────────────────────────────────┨ ┃ │功能│删除、复制、移动或重命名文件目录。 ┃ ┃ ├──┼──────────────────────────────────────────────┨ ┃ │参数│■文件路径: 被操作的源文件目录名,删除、复制和移动文件目录时支持DOS通配符"?"或"*"; ┃ ┃ │ │■操作符号: 用"->"、"=>"、">>"分别表示移动、复制、重命名文件目录,省略操作符号表示删除操作,┃ ┃FILE│ │ ">>"重命名时,<文件路径>不要带DOS通配符,否则可能将多个文件被改名成一个文件; ┃ ┃ │ │■目标名称: 将源文件目录移动、复制到的目标路径名,不能含DOS通配符,要用确定的文件目录名。 ┃ ┃ ├──┼──────────────────────────────────────────────┨ ┃ │示例│FILE %CurDir\Inf\*.Inf->%WinDir%\INF\ 或 FILE %Temp%\*.* 或 FILE C:\BOOT.INI=>C:\BOOT.BAK ┃ ┃ ├──┼──────────────────────────────────────────────┨ ┃ │备注│※FILE命令具有强大的文件目录操作功能,操作文件目录时不弹出确认窗口,要小心谨慎使用; ┃ ┃ │ │※[目标名称]最后为"\"表示目录,文件复制、移动后将在目标目录下,保持原目录结构和文件名不变。 ┃ ┣━━┿━━┿━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┫ ┃ │格式│FIND <条件>,[命令1][!命令2] ┃ ┃ │格式│FIND {$}[ <条件1> 关系运算符 <条件2> ...],{命令1}{! 命令2} //组合条件 ┃ ┃ ├──┼──────────────────────────────────────────────┨ ┃ │功能│依据条件表达式是否成立,成立则执行命令1,不成立则执行命令2。 ┃ ┃ ├──┼──────────────────────────────────────────────┨ ┃ │参数│■条件 对[内存总数]或[磁盘总空间]或[按键]或[环境变量]或[内存进程]的判断。 ┃ ┃ │ │■内存总数 MEM<比较符>数值。 ┃ ┃ │ │■磁盘总空间 R:\<比较符>数值,R:表示盘符。 ┃ ┃ │ │■按键 KEY<比较符><#虚拟按键代码|简单按键字母>。 ┃ ┃ │ │■内存进程 内存进程名。 ┃ ┃ │ │■环境变量 $%环境变量名%<比较符>环境变量值,环境变量的比较是不区分大小写的。 ┃ ┃FIND│ │■比较符 比较操作符为"<"、">"、"="、"<>"、"<="、">=",分别表示"小于"、"大于"、"等于" ┃ ┃ │ │ 、"不等于"、"小于等于"、"大于等于"。 ┃ ┃ │ │■数值 比较的数值,磁盘和内存单位是MB,按键数值是按键代码。 ┃ ┃ ├──┼──────────────────────────────────────────────┨ ┃ │示例│FIND MEM<128,SHEL %SystemRoot%\SYSTEM32\XPLORER2.EXE!SHELL %SystemRoot%\EXPLORER.EXE ┃ ┃ │ │FIND $%OUTSIDE%=,ENVI $OUTSIDE=%CurDrv%\外置程序 ┃ ┃ │ │FIND 条件1,!! FIND 条件2,! FIND 条件3, 做某事1! 做某事2 //嵌套句式,可和IFEX混合 ┃ ┃ │ │FIND [ C:\ > 100 & $"A " <> "A" & explorer.exe ], 做某事1! 做某事2 //组合范例 ┃ ┃ ├──┼──────────────────────────────────────────────┨ ┃ │备注│※本命令功能强大,比较复杂,且可以嵌套(FIND或IFEX)使用,判断多个条件。IFEX命令功能与其相似。┃ ┃ │ │※<条件表达式>后的","号也可用"*"代替。 ┃ ┃ │ │※本命令嵌套FIND或IFEX命令时,被嵌套的命令中不能使用"!"分隔符。 ┃ ┃ │ │※FIND命令用于检测按键时,简单按键"A"~"Z"或"0"~"9"可用字母表示,其它按键要用按键代码表示;┃ ┃ │ │ 若用户按了 'A'~'Z' 或 '0'~'9' 这些键,按键结果将保存在环境变量 %PressKey% 中。 ┃ ┃ │ │※组合条件: []为标志;可嵌套,建议()。[前的$则全为$比较。关系运算|&@。此时需要空格间隔。 ┃ ┣━━┿━━┿━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┫ ┃ │格式│FLNK <目标路径名称>,<源文件路径名>,[链接类型标志] ┃ ┃ ├──┼──────────────────────────────────────────────┨ ┃ │功能│建立NTFS文件系统的硬链接或符号链接 ┃ ┃ ├──┼──────────────────────────────────────────────┨ ┃ │参数│■目标路径名称: 要建立硬链接或符号链接的文件目标名; ┃ ┃ │ │■源文件路径名: 原本已存在的文件路径名称; ┃ ┃FLNK│ │■链接类型标志: 数值,省略时为默认值0,表示建立硬链接,非0表示建立符号链接。 ┃ ┃ ├──┼──────────────────────────────────────────────┨ ┃ │示例│FLNK %WinDir%\System32\abcd.DLL,%CurDir%\abcd.DLL 或 FLNK %WinDir%\MyTool,%CurDir%\MyTool,1 ┃ ┃ ├──┼──────────────────────────────────────────────┨ ┃ │备注│※XP、2003系统不支持符号链接,不支持目录链接,也不支持跨卷建立硬链接; ┃ ┃ │ │※本命令支持环境变量解释(见示例),也支持使用通配符; ┃ ┃ │ │※本命令是调用Kernel32.DLL的CreateHardLinkW或CreateSymbolicLinkW工作,是否成功与系统有关。 ┃ ┣━━┿━━┿━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┫ ┃ │格式│FONT <字体路径>,[起始分区] ┃ ┃ ├──┼──────────────────────────────────────────────┨ ┃ │功能│注册字体或外挂字体 ┃ ┃ ├──┼──────────────────────────────────────────────┨ ┃FONT│参数│■字体文件路径和起始分区。 ┃ ┃ ├──┼──────────────────────────────────────────────┨ ┃ │示例│FONT %CurDrv%\外置程序\FONT 或 FONT \WINDOWS 或 FONT \WINDOWS,C: ┃ ┃ ├──┼──────────────────────────────────────────────┨ ┃ │备注│※命令第1个字符是"\"时,将从指定的起始分区开始搜索机子所有分区 Windows\Fonts目录下的字体,并┃ ┃ │ │ 安装注册,定义起始分区可避免搜索机子中存在的软驱,省略起始分区将搜索机子所有分区(含软驱)。 ┃ ┣━━┿━━┿━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┫ ┃ │格式│FORM [-raw] <变量名><=><卷名称> ┃ ┃ ├──┼──────────────────────────────────────────────┨ ┃ │功能│返回指定分区盘符介质类型。 ※-raw:不区分USB(避免软盘)。 ┃ ┃ ├──┼──────────────────────────────────────────────┨ ┃ │参数│■变量名: 用于保存分区盘符介质类型的变量名称。 ┃ ┃ │ │■卷名称: 系统存在的合法盘符、文件目录名。 ┃ ┃FORM├──┼──────────────────────────────────────────────┨ ┃ │示例│FORM DriveType=F: 或 FORM DriveType=C:\Windows 或 FORM DriveType=%CurDir% ┃ ┃ ├──┼──────────────────────────────────────────────┨ ┃ │备注│※卷名称可以引用 PECMD 的环境变量,如示例3; ┃ ┃ │ │※命令的返回值为以下字符串: DRIVE_UNKNOWN、DRIVE_NO_ROOT_DIR、DRIVE_REMOVABLE、DRIVE_FIXED、┃ ┃ │ │ DRIVE_REMOTE、DRIVE_CDROM、DRIVE_RAMDISK、DRIVE_USBFLASH、DRIVE_USBDISK、FUNCTION_ERROR  ┃ ┃ │ │※本命令配合 FDRV 命令可以列出系统所有盘符卷的介质类型,参照 FDRV 命令的说明。 ┃ ┣━━┿━━┿━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┫ ┃ │格式│FORX [@][[!]\]<文件>,<变量>,[数值],<命令> [参数,参数...]<%变量%>[,参数,参数...][,...] ┃ ┃ │ │FORX - 变量表,<变量>,<命令> [参数表] ┃ ┃ │ │FORX -NL 多行变量名,<变量>,<命令> [参数表] ┃ ┃ ├──┼──────────────────────────────────────────────┨ ┃ │功能│对匹配的文件目录进行对应的命令操作,本命令的功能类似CMD.EXE的for命令。 ┃ ┃ ├──┼──────────────────────────────────────────────┨ ┃ │参数│■文件: 指定文件目录名,可带有通配符。 ┃ ┃ │ │■变量: 指定变量名,该变量不能是已存在的环境变量或已存在的窗口控件名。 ┃ ┃ │ │■数值: 对匹配的文件目录执行相应次数的命令操作,0或<0表示对所有存在的文件执行命令操作。 ┃ ┃ │ │■命令: PECMD.EXE合法有效的命令,命令后的参数格式和个数由该命令而定。 ┃ ┃ ├──┼──────────────────────────────────────────────┨ ┃FORX│示例│◆FORX %CurDir%\Path1\*.DLL,AnyDLL,0,CALL %AnyDLL% ┃ ┃ │ │◆FORX \auto*.INF,AutoRunVirus,0,FILE %AutoRunVirus% ┃ ┃ │ │◆FORX !\WinPE\WinPE.INI,MyIni,1,LOAD %MyIni% ┃ ┃ ├──┼──────────────────────────────────────────────┨ ┃ │备注│※该命令可以搜索到带有属性的文件目录,如隐藏属性的文件目录。 ┃ ┃ │ │※前导"\"表示搜索所有分区,"!"表示对所有分区进行逆序搜索,两前导"[!]\"符中"!"不能单独存在; ┃ ┃ │ │※前导"@"表示仅搜索目录并进行相应操作,省略该前导表示仅搜索文件并进行相应操作; ┃ ┃ │ │※执行 FORX 命令过程中若遇到 EXIT Forx 命令时,文件目录搜索命令也会中止执行; ┃ ┃ │ │※示例1表示注册%CurDir%\Path1\目录中的所有DLL,示例2表示删除所有分区根目录的auto*.INF文件; ┃ ┃ │ │※示例3表示逆序搜索所有分区WinPE目录下的WinPE.INI,把搜索的第1个WinPE.INI用LOAD命令加载。 ┃ ┣━━┿━━┿━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┫ ┃ │格式│GETF <文件名称>|<#资源号>,<位置长度>,<变量名称> ┃ ┃ ├──┼──────────────────────────────────────────────┨ ┃ │功能│以 BINARY 形式读取指定文件的数据,并将数据赋值给指定的变量名。 ┃ ┃ ├──┼──────────────────────────────────────────────┨ ┃ │参数│■文件名称: 合法的文件名,支持环境变量解释;资源目录EXEDATA ┃ ┃ │ │■位置长度: 数值,由要读取的起始位置和要读取的长度(字节)组成,之间用"#"分隔,如 1023#32; ┃ ┃ │ │■变量名称: 字符串,用于保存读取结果的的变量名。 ┃ ┃GETF├──┼──────────────────────────────────────────────┨ ┃ │示例│GETF %CurDir%\Memu.LST,0x400#0x10,FileData 或 GETF %CurDir%\Memu.LST,-1,FileLength ┃ ┃ ├──┼──────────────────────────────────────────────┨ ┃ │备注│※GETF命令读取文件的起始位置是相对于文件基址的,如要读取文件的第1个字节,则起始位置为 0x00;┃ ┃ │ │※命令的结果以16进制数值表示,数值之间由空格分隔,省略起始位置或省略读取长度均取其默认值1; ┃ ┃ │ │※以 BINARY 方式修改文件的对应命令是 PUTF,建议不要用GETF命令和PUTF命令处理超大体积的文件; ┃ ┃ │ │※起始位置小于0或超过文件长度时,命令的结果为10进制表示的文件长度,出错结果为0xFFFFFFFF; ┃ ┃ │ │※GETF命令每次读取的长度不能超过40,以字符串方式读取文件或修改文件命令为READ命令和WRIT命令。┃ ┣━━┿━━┿━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┫ ┃ │格式│GROU <组合面板名称>,<组合面板形状>,[组合面板标题] ┃ ┃ ├──┼──────────────────────────────────────────────┨ ┃ │功能│在_SUB定义的窗口内建立组合面板,用于说明组合面板内控件的功能和作用。 ┃ ┃ ├──┼──────────────────────────────────────────────┨ ┃ │参数│■组合面板名称: 字串,组合面板名称应是唯一的,不能与其它控件名称或环境变量名称同名。 ┃ ┃ │ │■组合面板形状: 组合面板的位置和大小,格式为,左上宽高均为数值。 ┃ ┃GROU│ │■组合面板标题: 字串,用以描述组合面板的作用或功能。 ┃ ┃ ├──┼──────────────────────────────────────────────┨ ┃ │示例│GROU Group1,L8T4W336H400,注册WimShExt.DLL ┃ ┃ ├──┼──────────────────────────────────────────────┨ ┃ │备注│※GROU命令必须位于_SUB命令和_END命令之间,其它位置的GROU命令无效,参照_SUB、CALL命令说明。 ┃ ┃ │ │※要设置组合面板标题,可以使用"ENVI @组合面板名称=组合面板标题"来设置 ,参照ENVI命令的说明。┃ ┣━━┿━━┿━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┫ ┃ │格式│HASH [文件名称|$字符内容],[变量名称],[类型] ┃ ┃ ├──┼──────────────────────────────────────────────┨ ┃ │功能│计算文件或字符串CRC32、MD5、SHA1 或 SHA256 校验码。 ┃ ┃ ├──┼──────────────────────────────────────────────┨ ┃ │参数│■文件名称: 要计算Hash校验码的文件全名,含路径,支持环境变量解释; ┃ ┃ │ │■字符内容: 字符串,可含中文,区分大小写;"文件名称"和"字符内容"两个参数只取其一; ┃ ┃ │ │■前导符$ : 表示要计算的是字符串的Hash,如果字符串的第1个字符是"$",请在前面再添加一个"$"; ┃ ┃ │ │■变量名称: 用于保存计算结果的变量名,用字符串表示,不能与已存在的环境变量同名; ┃ ┃HASH│ │■类型: 字符串 "CRC32" 或 "MD5" 或 "SHA1" 或 "SHA256" ,省略表示 MD5 校验码。 ┃ ┃ ├──┼──────────────────────────────────────────────┨ ┃ │示例│HASH %SystemRoot%\System32\UserInit.EXE,UserInitMd5 或 HASH $Lxl1638,PassWordHash,SHA1 ┃ ┃ ├──┼──────────────────────────────────────────────┨ ┃ │备注│※用HASH命令计算字符串HASH校验码时,字符串的字符数限定在1K以内(不能含","字符)。 ┃ ┃ │ │※文件名不能含",",读取文件出错时MD5、SHA1和CRC32均为空值;空字符串的CRC32为"00000000",MD5 ┃ ┃ │ │ 为"d41d8cd98f00b204e9800998ecf8427e",SHA1为"da39a3ee5e6b4b0d3255bfef95601890afd80709"。 ┃ ┃ │ │※给出变量名,HASH命令计算结果保存到指定的变量中,示例2可通过环境变量%PassWordHash%来引用。 ┃ ┃ │ │※省略变量名,HASH命令的计算结果以消息窗口的形式显示,同时也将结果保存到粘帖板中。 ┃ ┣━━┿━━┿━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┫ ┃ │格式│HELP [文字前景颜色][#文字背景颜色] ┃ ┃ ├──┼──────────────────────────────────────────────┨ ┃ │功能│显示帮助信息。 ┃ ┃ ├──┼──────────────────────────────────────────────┨ ┃HELP│参数│■数值(支持16进制)。 ┃ ┃ ├──┼──────────────────────────────────────────────┨ ┃ │示例│HELP 0x00EEFF#0xFF0000 ┃ ┃ ├──┼──────────────────────────────────────────────┨ ┃ │备注│※不用命令行参数,直接执行本程序,也会显示帮助信息。 ┃ ┣━━┿━━┿━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┫ ┃ │格式│HIVE <子项名>,[文件名] ┃ ┃ ├──┼──────────────────────────────────────────────┨ ┃ │功能│加载或卸载注册表配置文件,相当于 REG.EXE 的 LOAD 命令和 UNLOAD 命令的功能。 ┃ ┃ ├──┼──────────────────────────────────────────────┨ ┃HIVE│参数│■子项名 指定加载或卸载注册表配置文件时在 HKEY_LOCAL_MACHINE 下的子项名称。 ┃ ┃ │ │■文件名 被加载的注册表配置文件名,省略该参数时为卸载指定的子项名称。 ┃ ┃ ├──┼──────────────────────────────────────────────┨ ┃ │示例│HIVE BCD,F:\BOOT\BCD 或 HIVE BCD 或 HIVE BCD,%CurDrv%\BOOT\BCD ┃ ┃ ├──┼──────────────────────────────────────────────┨ ┃ │备注│※HIVE命令加载注册表配置单元后,PECMD将设置Everyone获得完全控制权限,以便用户读取修改。 ┃ ┣━━┿━━┿━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┫ ┃ │格式│HKEY [辅助按键+]<按键字母|#虚拟按键代码>,<热键命令> ┃ ┃ ├──┼──────────────────────────────────────────────┨ ┃ │功能│设置系统热键,并指定该热键执行的命令。 ┃ ┃ ├──┼──────────────────────────────────────────────┨ ┃ │参数│■辅助按键: 4个辅助按键(Alt、Ctrl、Shift和Win)可用字符串表示,辅助按键间用"+"连接。 ┃ ┃ │ │■按键字母: 简单按键("A"~"Z"或"0"~"9")可用字母表示,其它按键要用前导符"#"连按键代码表示。 ┃ ┃ │ │■按键代码: 由前导符"#"接虚拟按键代码组成,见示例1和示例2,支持16进制数值。 ┃ ┃HKEY│ │■热键命令: 必须是 PECMD 支持的有效命令。 ┃ ┃ ├──┼──────────────────────────────────────────────┨ ┃ │示例│HKEY #255,SHUT R 或 HKEY Ctrl+Alt+#0x41,DISP W800H600B16F75 或 HKEY Ctrl+Alt+D,TEMP @Delete ┃ ┃ ├──┼──────────────────────────────────────────────┨ ┃ │备注│※HKEY命令必须位于_SUB命令和_END命令之间,其它位置的HKEY命令无效,参照_SUB、CALL命令说明。 ┃ ┃ │ │※示例1表示按下电源键调用SHUT命令重启,示例2表示按下Ctrl+Alt+A调用DISP命令设置显示模式。 ┃ ┃ │ │※示例3表示按下Ctrl+Alt+D调用TEMP命令清除临时目录,注意设置的热键不能与其它程序的热键冲突。 ┃ ┃ │ │※HKEY命令设置的是PECMD.EXE的_SUB命令定义的窗口热键,HOTK命令设置的是WinPE的系统热键。 ┃ ┣━━┿━━┿━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┫ ┃ │格式│HOME [IE主页],[数值1],[数值2] ┃ ┃ ├──┼──────────────────────────────────────────────┨ ┃ │功能│设置IE主页、锁定IE主页及禁用注册表编辑器。 ┃ ┃ ├──┼──────────────────────────────────────────────┨ ┃ │参数│■IE主页: 支持各种类型网址和本地网页文件。 ┃ ┃ │ │ 当网址为本地网页文件时要使用文件全名(可带环境变量),如 "%SystemRoot%\ReadME.htm" ┃ ┃HOME│ │■数值1 : 非0时锁定IE主页,即禁止修改IE主页,该参数省略时默认为0,可修改IE主页。 ┃ ┃ │ │■数值2 : 非0时禁用注册表编辑器,该参数省略时默认为0,可使用注册表编辑器。 ┃ ┃ ├──┼──────────────────────────────────────────────┨ ┃ │示例│HOME http:\\www.sbms.com,1,1 或 HOME %SystemRoot%\ReadME.htm ┃ ┃ ├──┼──────────────────────────────────────────────┨ ┃ │备注│※本命令在脚本或CMD批处理中均可使用;IE主页或注册表编辑器被恶意工具锁定时可用该命令解锁。 ┃ ┃ │ │※示例1表示将 "http://www.sbms.com" 设置为主页,同时禁止修改主页,禁止使用注册表编辑器。 ┃ ┣━━┿━━┿━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┫ ┃ │格式│HOTK [辅助按键+]<按键字母|#虚拟按键代码>,<热键命令> ┃ ┃ ├──┼──────────────────────────────────────────────┨ ┃ │功能│设置系统热键,并指定该热键执行的命令(.BAT 或 .CMD 或 .EXE)。 ┃ ┃ ├──┼──────────────────────────────────────────────┨ ┃ │参数│■辅助按键: 4个辅助按键(Alt、Ctrl、Shift和Win)可用字符串表示,辅助按键间用"+"连接。 ┃ ┃ │ │■按键字母: 简单按键("A"~"Z"或"0"~"9")可用字母表示,其它按键要用前导符"#"连按键代码表示。 ┃ ┃ │ │■按键代码: 由前导符"#"接虚拟按键代码组成,见示例1和示例2,支持16进制数值。 ┃ ┃HOTK│ │■热键命令: 必须是有效的可执行命令,如 .BAT 或 .CMD 或 .EXE 等。 ┃ ┃ ├──┼──────────────────────────────────────────────┨ ┃ │示例│HOTK #255,PECMD.EXE SHUT E 或 HOTK Ctrl + Alt + #36,PECMD.EXE 或 HOTK Ctrl + Alt + C,CMD.EXE┃ ┃ ├──┼──────────────────────────────────────────────┨ ┃ │备注│※本命令只能在配置文件中使用,第1个示例是按下电源键调用PECMD的SHUT功能关机。 ┃ ┃ │ │※SHEL命令必须在 HOTK 命令之后,只有通过SHEL命令加载SHELL时,才能通过HOTK命令注册热键。 ┃ ┃ │ │※通过PECMD.EXE登录的WinPE系统,已设置了两组热键,要修改这两组热键请修改最后两条字符串资源。┃ ┃ │ │※HOTK命令设置的是通过PECMD.EXE登录WinPE系统后,WinPE的系统热键,其它参照HKEY命令的说明。 ┃ ┣━━┿━━┿━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┫ ┃ │格式│IFEX <条件>,[命令1][!命令2] ┃ ┃ │格式│IFEX {$}[ <条件1> 关系运算符 <条件2> ...],{命令1}{! 命令2} //组合条件 ┃ ┃ ├──┼──────────────────────────────────────────────┨ ┃ │功能│依据条件表达式是否成立,成立则执行命令1,不成立则执行命令2。 ┃ ┃ ├──┼──────────────────────────────────────────────┨ ┃ │参数│■条件 对[可用内存]或[磁盘可用空间]或[按键]或[数值变量]或[文件目录]的判断。 ┃ ┃ │ │■可用内存 MEM<比较符>数值。 ┃ ┃ │ │■磁盘可用空间 R:\<比较符>数值,R:表示盘符。 ┃ ┃ │ │■按键 KEY<比较符><#虚拟按键代码|字母>。 ┃ ┃ │ │■文件目录 文件目录名,可以使用通配符。 ┃ ┃ │ │■数值变量 $%数值变量名%<比较符>数值或数值变量名,数值变量是CALC或ENVI赋值设置的变量。 ┃ ┃IFEX│ │■比较符 比较操作符为"<"、">"、"="、"<>"、"<="、">=",分别表示"小于"、"大于"、"等于" ┃ ┃ │ │ 、"不等于"、"小于等于"、"大于等于"。 ┃ ┃ │ │■数值 比较的数值,磁盘和内存单位是MB,按键数值是按键代码。 ┃ ┃ ├──┼──────────────────────────────────────────────┨ ┃ │示例│IFEX KEY=#17,TEAM TEXT 搜索字体|FONT \WINDOWS!TEAM TEXT 安装字体|FONT %CurDrv%\外置程序\FONT┃ ┃ │ │IFEX C:\Windows,!MESS 目录C:\Windows不存在,\n请点[确定]。@ 目录检查#OK ┃ ┃ │ │IFEX 条件1,!! IFEX 条件2,! IFEX 条件3, 做某事1! 做某事2 //嵌套,可和FIND混合 ┃ ┃ │ │IFEX [ $2 < 12 & C:\>10 & C:\ > 10 & ( C:\boot.ini ) & MEM > 100 ], MESS YES //组合范例 ┃ ┃ ├──┼──────────────────────────────────────────────┨ ┃ │备注│※本命令功能强大,比较复杂,且可以嵌套(IFEX或FIND)使用,判断多个条件。FIND命令功能与其相似。┃ ┃ │ │※<条件表达式>后的","号也可用"*"代替。 ┃ ┃ │ │※本命令嵌套IFEX或FIND命令时,被嵌套的命令中不能使用"!"分隔符。 ┃ ┃ │ │※IFEX命令用于检测按键时,简单按键"A"~"Z"或"0"~"9"可用字母表示,其它按键要用按键代码表示;┃ ┃ │ │ 若用户按了 'A'~'Z' 或 '0'~'9' 这些键,按键结果将保存在环境变量 %PressKey% 中。 ┃ ┃ │ │※本命令用于变量判断时,所有变量均按double型来处理(最多保留4位小数)。 ┃ ┃ │ │※组合条件: []为标志,可嵌套()。[前的$表示后全为$比较,省。关系运算|&@。此时需要空格间隔 ┃ ┣━━┿━━┿━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┫ ┃ │格式│IMAG <图片框名>,[图片形状],[图像资源],[执行命令],[边框颜色],[边框线宽] ┃ ┃ ├──┼──────────────────────────────────────────────┨ ┃ │功能│在_SUB定义的窗口内建立一个图片框。 ┃ ┃ ├──┼──────────────────────────────────────────────┨ ┃ │参数│■图片框名: 字串,标签名称应是唯一的,不能与其它控件名称或环境变量名称同名。 ┃ ┃ │ │■图片形状: 图片框形状的位置和大小,格式为,左上宽高均为数值。 ┃ ┃ │ │■图像资源: 图像文件(支持所有Windows支持的图像文件)将被显示在指定的图片框上。 ┃ ┃ │ │■执行命令: PECMD有效的命令,如 EXEC !%CurDir%\XXX.CMD 或 EXEC %CurDir%\Setup.EXE。 ┃ ┃ │ │■边框颜色: 数值,依次由正常颜色和活动颜色二种颜色组成。二个数值之间由 '#' 字符分隔,格式为 ┃ ┃ │ │ "数值1 #数值2",支持16进制数值,如 0x00FFFF#0xFF0000,颜色值省略采用系统默认颜色┃ ┃IMAG│ │■边框线宽: 数值,表示图片边框的像素大小,"执行命令"省略或无效时边框活动颜色也无效。 ┃ ┃ ├──┼──────────────────────────────────────────────┨ ┃ │示例│IMAG Image1,L8T380W140H70,%CurDir%\logo.gif,EXEC %CurDir%\Setup.EXE,#0xFF00FF,2 ┃ ┃ ├──┼──────────────────────────────────────────────┨ ┃ │备注│※IMAG命令必须位于_SUB命令和_END命令之间,其它位置的IMAG命令无效,参照_SUB、CALL命令说明。 ┃ ┃ │ │※GIF格式时将以静态画面显示 ┃ ┃ │ │※"图像资源"也支持EXE、DLL中的资源图标,格式为<文件名称#ID>,请参照 ITEM 命令的用法。 ┃ ┃ │ │※"图像资源"为标准GIF89a格式的GIF动画时,边框颜色和边框线宽两个参数的设置将无效。 ┃ ┃ │ │ 当"执行命令"不省略时,鼠标移到图片框上会变成手形鼠标。 ┃ ┣━━┿━━┿━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┫ ┃ │格式│INIT [选项列表],[等待时间] ┃ ┃ ├──┼──────────────────────────────────────────────┨ ┃ │功能│执行最基本初始化,注册Window外壳,初始化用户文件夹和环境变量,安装键盘钩子,并建立以下目录: ┃ ┃ │ │Favorites 收藏夹目录 Programs 程序菜单目录┃ ┃ │ │Desktop 桌面目录 SendTo 发送到目录 ┃ ┃ │ │StartMenu 开始菜单目录 Personal 我的文档目录┃ ┃ │ │Startup 启动菜单目录 QuickLaunch 快速启动目录┃ ┃ ├──┼──────────────────────────────────────────────┨ ┃ │参数│■选项列表: 支持4个选项,由"C"、"I"、"K"、"U"组成,可不定项使用,不分先后顺序。 ┃ ┃ │ │ ◎选项"C": 表示将光驱的盘符写入环境变量; ┃ ┃ │ │ ◎选项"I": 表示将PECMD的部分功能安装到托盘图标的菜单中; ┃ ┃ │ │ ◎选项"K": 表示执行INIT命令立即安装低级键盘钩子,否则加载SHELL后才安装键盘钩子;┃ ┃INIT│ │ ◎选项"U": 表示检测USB移动硬盘的插入,自动分配盘符,提供移动硬盘的即插即用功能。┃ ┃ │ │■等待时间: 数值,表示移动硬盘插入到设备就绪要等待的时间(毫秒),设置太小可能无法分配盘符。 ┃ ┃ ├──┼──────────────────────────────────────────────┨ ┃ │示例│INIT 或 INIT C 或 INIT CU 或 INIT CIK 或 INIT CIKU 或 INIT IU,3000 ┃ ┃ ├──┼──────────────────────────────────────────────┨ ┃ │备注│※执行INIT命令后,再执行SHEL命令加载指定的SHELL即可启动一个最小化的WinPE。 ┃ ┃ │ │※执行INIT命令前确保%USERPROFILE%所在分区有一定的可写空间,否则INIT命令无法完成工作。 ┃ ┃ │ │※带选项"C"时,光驱盘符保存在以CDROM开头的环境变量中(启动后须用无参数的ENVI命令刷新才生效)。┃ ┃ │ │※带选项"I"时,启动后托盘出现一个图标菜单,菜单集成了常用功能,WinPE定制人员可修改菜单功能。┃ ┃ │ │※选项"K"表示即刻安装键盘钩子,接管Ctrl+Alt+Del呼出任务管理器。 ┃ ┃ │ │※带选项"U"时,启动后可实现移动硬盘的即插即用,可用命令"EJEC U-"或从托盘菜单移除移动硬盘。 ┃ ┃ │ │※"等待时间"参数若省略时,将使用内定的默认值(3000);选项"U"省略时,"等待时间"参数也应省略。 ┃ ┃ │ │※公开发行WinPE的INIT命令不建议带选项"K",本命令不能在命令行中使用,只能在配置文件中使用。 ┃ ┣━━┿━━┿━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┫ ┃ │格式│IPAD <名称>,<形状>,[初始值],[事件],[类型] ┃ ┃ ├──┼──────────────────────────────────────────────┨ ┃ │功能│建立一个IP地址器。 ┃ ┃ ├──┼──────────────────────────────────────────────┨ ┃ │参数│■名称: 字串,编辑框名称应是唯一的,不能与其它控件名称或环境变量名称同名。 ┃ ┃ │ │■形状: 编辑框位置和大小,格式为,左上宽高均为数值。 ┃ ┃ │ │■初始值: 字串,AA.BB.CC.DD ┃ ┃IPAD│ │■事件: 在编辑框内按下回车键或双击时执行的命令,必须是 WinCMD 支持的有效命令。 ┃ ┃ │ │■类型: 数字(累加),默认为0,正常编辑框,负号为灰色禁用,0x10位不可见。 ┃ ┃ ├──┼──────────────────────────────────────────────┨ ┃ │示例│ IPAD IPAD1,L32T244W240H24,192.168.1.100,Mess ┃ ┃ ├──┼──────────────────────────────────────────────┨ ┃ │备注│※该命令一般位于_SUB命令和_END命令之间,参照_SUB、CALL命令说明。 ┃ ┃ │ │※可用"ENVI @名称.Enable=[#]数值",0为禁用状态;1为可用状态(不响应)。#用于子线程 ┃ ┃ │ │※可用"ENVI @名称.Visable=数值"来设置可见状态;0为不可见,1为可见。 ┃ ┣━━┿━━┿━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┫ ┃ │格式│ITEM <按钮名称>,<按钮形状>,[按钮标题],[按钮事件],[按钮图标],[按钮状态] ┃ ┃ ├──┼──────────────────────────────────────────────┨ ┃ │功能│在_SUB定义的窗口内建立一个按钮。 ┃ ┃ ├──┼──────────────────────────────────────────────┨ ┃ │参数│■按钮名称: 字符串,按钮的名称应是唯一的,不能与其它控件名称或环境变量名称同名。 ┃ ┃ │ │■按钮形状: 按钮位置和大小,格式为,左上宽高均为数值。 ┃ ┃ │ │■按钮标题: 位于按钮上的文字,用于描述按钮的功能或执行的命令。 ┃ ┃ITEM│ │■按钮事件: 点击该按钮时执行的命令,必须是 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 [[<\>窗口标题]|[进程名称]] ┃ ┃ ├──┼──────────────────────────────────────────────┨ ┃ │功能│关闭指定标题的窗口或强制终止指定的进程。 ┃ ┃ ├──┼──────────────────────────────────────────────┨ ┃ │参数│■前导"\"表示关闭指定标题的窗口,如果省略窗口标题则为关闭_SUB定义的窗口。 ┃ ┃KILL│ │■省略前导"\"表示结束指定名称(EXE文件名,无路径)进程,如果省略进程名称则终止PECMD的父进程。 ┃ ┃ ├──┼──────────────────────────────────────────────┨ ┃ │示例│KILL WinLogon.EXE 或 KILL \计算器 ┃ ┃ ├──┼──────────────────────────────────────────────┨ ┃ │备注│※无窗口标题的进程请用进程名来结束。 ┃ ┃ │ │※终止进程时将终止与"进程名称"匹配的所有进程。 ┃ ┣━━┿━━┿━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┫ ┃ │格式│LABE <标签名称>,<标签形状>,[标签文字],[执行命令],[颜色集合],[字体大小] ┃ ┃ ├──┼──────────────────────────────────────────────┨ ┃ │功能│在_SUB定义的窗口内建立一条静态文字标签。 ┃ ┃ ├──┼──────────────────────────────────────────────┨ ┃ │参数│■标签名称: 字串,标签名称应是唯一的,不能与其它控件名称或环境变量名称同名。 ┃ ┃ │ │■标签形状: 标签的位置和大小,格式为,左上宽高均为数值。 ┃ ┃ │ │■标签文字: 字符串,要标签显示的文字,支持多行显示,文字行间用"\n"表示断行。 ┃ ┃ │ │■执行命令: PECMD有效的命令,如 EXEC $%CurDir%\ReadME.TXT 或 EXEC $www.beiduo.com ┃ ┃ │ │■颜色集合: 数值,依次由正常文字颜色、正常背景颜色、活动文字颜色和活动背景颜色四种颜色组成,┃ ┃ │ │ 四个数值之间由'#'字符分隔,格式为"数值1 #数值2 #数值3 #数值4",支持16进制数值, ┃ ┃ │ │ 如 0x00FFFF#0xFF0000#0x0000FF#0000,任一颜色值省略都采用系统默认颜色值。 ┃ ┃ │ │■字体大小: 数值,支持16进制数值,如0x0A,省略该参数时为系统默认的字体大小。 ┃ ┃LABE├──┼──────────────────────────────────────────────┨ ┃ │示例│LABE Label1,L20T280W128H48,请点击"打开"按钮以浏览文件。 ┃ ┃ │ │LABE Label2,L20T24W80H20,帮助说明,EXEC %CurDir%\ReadME.EXE,0xFF0000,12 ┃ ┃ │ │LABE Label3,L20T48W80H20,微软公司,EXEC $http:\\www.microsoft.com,0x000000##0x0000FF,14 ┃ ┃ ├──┼──────────────────────────────────────────────┨ ┃ │备注│※LABE命令必须位于_SUB命令和_END命令之间,其它位置的LABE命令无效,参照_SUB、CALL命令说明。 ┃ ┃ │ │※当设置了"背景颜色"或"执行命令"时,"标签文字"会居中显示,居中显示的文字无法分行显示。 ┃ ┃ │ │※要设置标签上文字内容,可以使用 "ENVI @标签名称=标签文字" 来设置 ,参照 ENVI 命令的说明。 ┃ ┃ │ │※当"执行命令"不省略时,鼠标移到其上会变成手形鼠标。 ┃ ┃ │ │※"标签文字"和"执行命令"均不能含有','字符;可变量传入。"标签文字",可在窗口启动后通过启动 ┃ ┃ │ │ 一次定时器,在定时器内用ENVI命令来设置;"执行命令",可用CALL命令来完成。 ┃ ┃ │ │※系统默认的字体大小和颜色值在不同系统中可能不同,与系统的设置有关。 ┃ ┣━━┿━━┿━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┫ ┃ │格式│LINK [_][!@][^][*]<快捷方式路径>,<目标路径>,[参数],[图标路径[#索引]],[备注],[起始] ┃ ┃ ├──┼──────────────────────────────────────────────┨ ┃ │功能│创建快捷方式。*表示原始方式,强制生成,不分析后面字符,不检测目标路径是否存在。 ┃ ┃ ├──┼──────────────────────────────────────────────┨ ┃ │参数│■前导"_" : 表示以最小化方式启动程序,可用于执行批处理文件时最小化命令窗口。 ┃ ┃ │ │■前导"@"或"!" : 表示以隐藏方式启动程序,可用于隐藏执行批处理文件时窗口。 ┃ ┃ │ │■前导"^" : 表示以最大化方式启动程序。 ┃ ┃ │ │■快捷方式: 指定要生成的快捷方式的路径,不需要".LNK"扩展名。 ┃ ┃ │ │■目标路径: 指定快捷方式的目标文件目录(可用相对路径)。若目标不存在,将不会创建快捷方式。 ┃ ┃LINK│ │■运行参数: 目标程序运行参数。 ┃ ┃ │ │■图标路径: 快捷方式图标的路径。 ┃ ┃ │ │■图标索引: 快捷方式图标在文件资源中序号,0为第1个图标,不填则默认。 ┃ ┃ │ │■图标备注: 字符串,对目标程序或目录的说明。 ┃ ┃ │ │■起始位置: 目标程序命令的工作目录。 ┃ ┃ ├──┼──────────────────────────────────────────────┨ ┃ │示例│LINK !%Desktop%\建立宽带连接,RASPPPOE.CMD,,RASDIAL.DLL#19 ┃ ┃ ├──┼──────────────────────────────────────────────┨ ┃ │备注│※前导"_"和前导"!"对控制台命令(如CMD.EXE)窗口有效,可能对一些Win32GUI程序无效。 ┃ ┣━━┿━━┿━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┫ ┃ │格式│LIST <下拉列表框名称>,<下拉列表框形状>,<下拉列表框内容>,[下拉列表框事件],[默认选中的条目] ┃ ┃ ├──┼──────────────────────────────────────────────┨ ┃ │功能│在_SUB定义的窗口内建立一个下拉列表框。 ┃ ┃ ├──┼──────────────────────────────────────────────┨ ┃ │参数│■下拉列表框名称: 字符串,下拉列表框名称应是唯一的,不能与其它控件名称或环境变量名称同名。 ┃ ┃ │ │■下拉列表框形状: 下拉列表框形状位置和大小,格式为,左上宽高均为数值。 ┃ ┃ │ │■下拉列表框内容: 下拉列表框内可供选择的条目,条目与条目之间用字符"|"隔开。 ┃ ┃ │ │■下拉列表框事件: 下拉列表框内被选择条目发生变化时执行的命令,必须是 PECMD 支持的有效命令。 ┃ ┃ │ │■默认选中的条目: 初始化下拉列表框设置被选中的条目。 ┃ ┃ ├──┼──────────────────────────────────────────────┨ ┃LIST│示例│LIST List1,L200T360W128H32,EXPLORER|XPLORER2|CMD,ENVI @Label1=%List1%,EXPLORER ┃ ┃ ├──┼──────────────────────────────────────────────┨ ┃ │备注│※LIST命令必须位于_SUB命令和_END命令之间,其它位置的LIST命令无效,参照_SUB、CALL命令说明。 ┃ ┃ │ │※可用 "ENVI @下拉列表框名称=[+|-]条目内容或条目列表" 来修改下拉列表框的条目。 ┃ ┃ │ │ 前导符"+"表示向下拉列表框增加条目,格式为 "ENVI @下拉列表框名称=+新增加的条目" ┃ ┃ │ │ 前导符"-"表示删除下拉列表框指定的条目,格式为 "ENVI @下拉列表框名称=-被删除的条目" ┃ ┃ │ │ 无前导符表示初始化下拉列表框所有的条目,格式为 "ENVI @下拉列表框名称=条目1|条目2|条目3..."┃ ┃ │ │ 所以下拉列表框的条目内容中的第一个字符不能是 "+" 或 "-"。 ┃ ┃ │ │※可用"ENVI @下拉列表框名称.Enable=数值"来设置下拉列表框可用状态;0为禁用状态非0为可用状态。┃ ┃ │ │※环境变量 %下拉列表框名称% 为下拉列表框被选中的条目(字符串)。 ┃ ┃ │ │※注意变量 %下拉列表框名称% 与 "下拉列表框名称" 的区别,%下拉列表框名称%为被选中的条目。 ┃ ┣━━┿━━┿━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┫ ┃ │格式│LOAD <文件路径|#内部脚本号>[,起始分区][ 参数表] //注意:文件名有空字符需要""刮起来 ┃ ┃ ├──┼──────────────────────────────────────────────┨ ┃ │功能│按顺序逐条运行配置文件中的命令。 ┃ ┃ ├──┼──────────────────────────────────────────────┨ ┃ │参数│■指定文件名(含路径,支持环境变量)和起始分区。 ┃ ┃ ├──┼──────────────────────────────────────────────┨ ┃ │示例│LOAD \外置程序\PECMD.INI 或 LOAD \外置程序\WinPE.INI,C: ┃ ┃LOAD├──┼──────────────────────────────────────────────┨ ┃ │备注│※每条命令单独一行,主流程的命令是完全按顺序执行的。不正确的命令或空行将忽略不计。 ┃ ┃ │ │※支持 ANSI 和 UNICODE 格式文本文件,推荐使用 UNICODE 格式文本文件。 ┃ ┃ │ │※配置文件支持整行注释和行后注释,推荐使用"`"(键盘左上角Esc键下面的字符)作为注释起始。 ┃ ┃ │ │※在配置文件中可以使用环境变量"%CurDrv%"表示当前盘符。 ┃ ┃ │ │※如果文件路径第1个字符是"\",则搜索所有磁盘指定目录中的文件,如"LOAD \MyWinPE\PECMD.INI"。 ┃ ┃ │ │※配置文件所在目录被设置为当前目录,这样创建快捷方式时,快捷方式目标路径可以使用相对路径。 ┃ ┃ │ │※指定起始分区可避免搜索存在的软驱,省略时将搜索所有分区(含软驱);其它的参照MAIN命令的说明。┃ ┃ │ │※ %&&__arg%为参数表。 ┃ ┣━━┿━━┿━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┫ ┃ │格式│LOGO [[#背景颜色]|[图片文件]],[位置大小] ┃ ┃ ├──┼──────────────────────────────────────────────┨ ┃ │功能│设置或关闭登录画面。 ┃ ┃ ├──┼──────────────────────────────────────────────┨ ┃ │参数│■背景颜色: 数值,设置背景颜色时必须要有前导符"#",设置的颜色无效时将使用注册表内定的颜色。 ┃ ┃ │ │■图片文件: 支持BMP/JPG/PNG/GIF等格式,需要GDI+支持。背景颜色和图片文件两者只取其一。 ┃ ┃ │ │■位置大小: LOGO窗口的位置和大小,格式为,左上宽高均为数值。 ┃ ┃LOGO│ │■若无参数: 则关闭启动画面(渐隐淡出)。 ┃ ┃ ├──┼──────────────────────────────────────────────┨ ┃ │示例│LOGO %SystemRoot%\LOGON.JPG 或 LOGO #0xFF0000,L100T100W300H200 ┃ ┃ ├──┼──────────────────────────────────────────────┨ ┃ │备注│※此命令为非阻塞模式执行。执行本命令后,将立即执行下一条命令。 ┃ ┃ │ │※该命令只能在配置文件中使作,如果在命令行中使用,程序马上退出,将不能看到效果。 ┃ ┃ │ │※省略"左上"时窗口居中,省略"宽高"时为全屏大小,同时省略"左上宽高"时为全屏窗口。 ┃ ┃ │ │※配置文件结束之前,必须调用一次不带参数的"LOGO"命令,以关闭启动画面。 ┃ ┃ │ │※WinPE启动时建议使用全屏窗口(位置大小),使用LOGO图要求的LOGO内存会大些。 ┃ ┣━━┿━━┿━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┫ ┃ │格式│LOGS [文件路径],[数值] ┃ ┃ ├──┼──────────────────────────────────────────────┨ ┃ │功能│启用日志以便记录每条命令的执行结果,帮助用户验证配置文件的正确性。 ┃ ┃ ├──┼──────────────────────────────────────────────┨ ┃ │参数│■文件路径 : 指日志文件名,含路径。 ┃ ┃LOGS│ │■数值 : 为日志文件申请的内存空间(单位为KB),日志记录多,所需空间也大,省略即采用默认值16K。┃ ┃ ├──┼──────────────────────────────────────────────┨ ┃ │示例│LOGS %SystemRoot%\PECMD.LOG ┃ ┃ ├──┼──────────────────────────────────────────────┨ ┃ │备注│※配置文件结束之前,必须调用一次不带参数的"LOGS"命令,以关闭日志文件(确保日志写入文件)。 ┃ ┃ │ │※此命令不能在命令行中使用(必须在配置文件中使用)。 ┃ ┃ │ │※公开发布的 WinPE 中建议不要启用日志文件。 ┃ ┣━━┿━━┿━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┫ ┃ │格式│LOOP <循环条件>,<循环命令> ┃ ┃ │格式│LOOP {$#}[ <条件1> 关系运算符 <条件2> ...],{!}<循环命令> //组合条件 ┃ ┃ ├──┼──────────────────────────────────────────────┨ ┃ │功能│测试循环条件,执行循环命令。 ┃ ┃ ├──┼──────────────────────────────────────────────┨ ┃ │参数│■循环条件: 格式为<[$|#]变量1<比较符>变量2>,前导符'$'表示进行字符串变量比较(不区分大小写);┃ ┃ │ │ 前导符'#'表示进行整数变量比较(按INT32类型处理),省略前导表示进行Double变量比较。┃ ┃ │ │ 比较符支持'>'、'<'和'='三种,表示 '大于'、'小于'和'等于'。 ┃ ┃LOOP│ │■循环命令: 格式为<[!]有效命令>,前导符'!'表示循环条件不成立时循环执行该命令,直至循环条件成┃ ┃ │ │ 立;省略前导'!'表示循环条件成立时循环执行该命令,直至循环条件不成立。 ┃ ┃ ├──┼──────────────────────────────────────────────┨ ┃ │示例│LOOP #%Number%<100,CALL DoLoop 或 LOOP $%Characters1%=%Characters2%,!CALL DoLoop ┃ ┃ │ │LOOP [ #2 < 12 & $7 < 8 & 4 < 10 ], MESS LOOP1 //组合范例 ┃ ┃ ├──┼──────────────────────────────────────────────┨ ┃ │备注│※循环命令内必须存在修改变量的命令,否则循环不会结束(形成死循环);循环体建议放在_SUB 与 _END┃ ┃ │ │ 定义的语句中,循环体内遇到 EXIT Loop 命令时,循环命令也会中止执行; ┃ ┃ │ │※LOOP命令和WRIT命令必须位于单独一行,不能套在 FIND、IFEX、TEAM 命令内。 ┃ ┃ │ │※组合条件: []为标志,可嵌套()。[前的$#表示后全为$#比较,省。关系运算|&@。此时需要空格间隔 ┃ ┣━━┿━━┿━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┫ ┃ │格式│LPOS <变量名><=><字符>,<数值>,<字符串> ┃ ┃ ├──┼──────────────────────────────────────────────┨ ┃ │功能│返回指定"字符"在"字符串"左边起出现的位置。 ┃ ┃ ├──┼──────────────────────────────────────────────┨ ┃ │参数│■变量名: 用于保存命令结果的变量名; ┃ ┃ │ │■字 符: 被检测的字符,不区分大小写; ┃ ┃LPOS│ │■数 值: 指定被检测的字符出现的次数; ┃ ┃ │ │■字符串: 被检测的字符串,长度不能超2K。 ┃ ┃ ├──┼──────────────────────────────────────────────┨ ┃ │示例│LPOS iPos=a,2,123A56|1234A6|abcdef 或 LPOS iPos=a,3,123A56|1234A6|abcdef ┃ ┃ ├──┼──────────────────────────────────────────────┨ ┃ │备注│※当"数值"小于1时返回最右边被检测字符的位置,如上例2的结果是15;返回结果为0时表示没有找到。 ┃ ┃ │ │※该命令按 Unicode 字符串处理,示例1的返回值为12,示例2的返回值为15(与数值为0的结果相同)。 ┃ ┣━━┿━━┿━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┫ ┃ │格式│LSTR <变量名><=><数目>,<字符串> ┃ ┃ ├──┼──────────────────────────────────────────────┨ ┃ │功能│从指定"字符串"的左边截取指定数目的字符,并将结果返回给指定名称的变量。 ┃ ┃ ├──┼──────────────────────────────────────────────┨ ┃ │参数│■变量名: 用于保存命令结果的变量名; ┃ ┃LSTR│ │■数 目: 指定截取字符的数目; ┃ ┃ │ │■字符串: 源字符串,长度不能超2K。 ┃ ┃ ├──┼──────────────────────────────────────────────┨ ┃ │示例│LSTR aStr=2,1234567890 或 LSTR aStr=5,1234567890 ┃ ┃ ├──┼──────────────────────────────────────────────┨ ┃ │备注│※当"数值"小于1时或超出源字符串的长度时,返回结果为整个源字符串(相当于字符串复制); ┃ ┃ │ │※该命令按 Unicode 字符串处理,示例1的返回值为"12",示例2的返回值为"12345"。 ┃ ┣━━┿━━┿━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┫ ┃ │格式│MAIN [-user] <文件路径> ┃ ┃ ├──┼──────────────────────────────────────────────┨ ┃ │功能│初始化桌面,接管 Ctrl+Alt+Del,并创建新进程执行 LOAD 功能。-user为用户级 ┃ ┃ ├──┼──────────────────────────────────────────────┨ ┃ │参数│■指定初始化的配置文件路径。 ┃ ┃MAIN├──┼──────────────────────────────────────────────┨ ┃ │示例│MAIN %SystemRoot%\PECMD\PECMD.INI ┃ ┃ ├──┼──────────────────────────────────────────────┨ ┃ │备注│※MAIN命令创建LOAD进程,执行完LOAD功能后会驻留内存,安装盘键钩子,挂接"ExitWindowsEx"函数。 ┃ ┃ │ │※本命令只能在加载WinPE的配置文件中使用,不能在正常系统中使用。 ┃ ┃ │ │※LAOD命令完成LOAD文件的功能后会自行退出内存,其它的参照 LOAD 命令的说明。 ┃ ┣━━┿━━┿━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┫ ┃ │格式│MEMO <编辑框名称>,<编辑框形状>,[编辑框内容],[目标文件名],[编辑框类型],[编辑框颜色] ┃ ┃ ├──┼──────────────────────────────────────────────┨ ┃ │功能│在_SUB定义的窗口内建立一个多行文本编辑框。 ┃ ┃ ├──┼──────────────────────────────────────────────┨ ┃ │参数│■编辑框名称: 字串,编辑框名称应是唯一的,不能与其它控件名称或环境变量名称同名。 ┃ ┃ │ │■编辑框形状: 编辑框位置和大小,格式为,左上宽高均为数值。 ┃ ┃ │ │■编辑框内容: 初始化编辑框时填入的内容,支持多行文字,文字行间用"\n"表示断行,总长1K以内。 ┃ ┃ │ │■目标文件名: 指定文本文件名,多行文本编辑框的内容由该文件载入。 ┃ ┃ │ │■编辑框类型: 数字,默认省略或为0,表示可编辑的多行文本编辑框,非0表示只读的多行文本编辑框。┃ ┃MEMO│ │■编辑框颜色: 数字,由文字颜色和背景颜色组成,格式为"数值1#数值2",省略时为默认颜色。 ┃ ┃ ├──┼──────────────────────────────────────────────┨ ┃ │示例│MEMO Memo1,L304T268W280H88,,%CurDir%\Readme.TXT,0 ┃ ┃ ├──┼──────────────────────────────────────────────┨ ┃ │备注│※MEMO命令必须位于_SUB命令和_END命令之间,其它位置的MEMO命令无效,参照_SUB、CALL命令说明。 ┃ ┃ │ │※"编辑框内容"不为空时将忽略"目标文件名",当"编辑框内容"为空时将加载"目标文件名"指定的内容,┃ ┃ │ │ 超长的"编辑框内容"可以通过环境变量赋值来连接成一个新的字符串变量,方便在记事本中阅读。 ┃ ┃ │ │※可用"ENVI @编辑框名称.Enable=数值"来设置编辑框的可用状态;0为不可用状态,非0为可用状态。 ┃ ┃ │ │※可用"ENVI @编辑框名称.ReadOnly=数值"来设置编辑框的只读状态;0为非只读状态,非0为只读状态。┃ ┃ │ │※前景颜色和背景颜色支持C格式的16进制数值,如 0xFFFFFF。 ┃ ┣━━┿━━┿━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┫ ┃ │格式│MENU <菜单项名称>,[菜单项标题],[菜单项事件],[菜单项状态] ┃ ┃ ├──┼──────────────────────────────────────────────┨ ┃ │功能│向自定义的托盘图标菜单添加一项菜单。 ┃ ┃ ├──┼──────────────────────────────────────────────┨ ┃ │参数│■菜单项名称: 字符串,除分隔线外,菜单项名称应是唯一的,不能与其它控件或环境变量的名称同名,┃ ┃ │ │ 当菜单项名称或菜单项名称的第一个字符为"-"时表示分隔线,否则表示正常菜单。 ┃ ┃ │ │■菜单项标题: 菜单项上的文字,用于描述菜单项的功能或说明。 ┃ ┃ │ │■菜单项事件: 点击该菜单项时执行的命令,必须是 PECMD 支持的有效命令。 ┃ ┃MENU│ │■菜单项状态: 默认为0,表示正常可用菜单,非0为灰色禁用菜单。 ┃ ┃ ├──┼──────────────────────────────────────────────┨ ┃ │示例│MENU Menu2,分辨率1024X768 颜色32位 刷新率85,DISP W1024H768B32F85 或 MENU - ┃ ┃ ├──┼──────────────────────────────────────────────┨ ┃ │备注│※MENU命令必须位于_SUB命令和_END命令之间,其它位置的MENU命令无效,参照_SUB、CALL命令说明。 ┃ ┃ │ │※运行期间暂时不提供修改菜单项标题的支持,即不能通过环境变量 %菜单项名称% 来引用菜单项标题,┃ ┃ │ │ 也不支持用 "ENVI @菜单项名称" 来设置修改菜单项标题。 ┃ ┃ │ │※托盘图标菜单的图标由 _SUB 命令定义的窗口图标来决定,省略时采用 PECMD 的主图标。 ┃ ┃ │ │※可用"ENVI @菜单项名称名称.Enable=数值"来设置编辑框的可用状态;0为不可用状态1为可用状态。 ┃ ┣━━┿━━┿━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┫ ┃ │格式│MESS <消息窗文字内容><@消息窗文字标题><#消息窗类型>[*自动关闭的时间(毫秒)][$默认的选择] ┃ ┃ ├──┼──────────────────────────────────────────────┨ ┃ │功能│显示一个[是/否]选择消息窗或显示一个带[确定]按钮的消息窗口。 ┃ ┃ ├──┼──────────────────────────────────────────────┨ ┃ │参数│■"消息窗文字内容"支持多行文字,文字行间用"\n"断开;"消息窗类型"目前支持"YN"和"OK"两种类型。┃ ┃ │ │ 特殊字符可用变量传入。 ┃ ┃ │ │■自动关闭的时间设置为0或不设置时,消息窗口不会自动关闭。默认的选择用Y或N表示,如$Y或$N。 ┃ ┃MESS├──┼──────────────────────────────────────────────┨ ┃ │示例│MESS 发现物理内存不足,\n是否设置虚拟内存?@设置虚拟内存 #YN *10000 $N ┃ ┃ ├──┼──────────────────────────────────────────────┨ ┃ │备注│※用户对"YN"类型消息窗的选择结果保存在环境变量 %YESNO% 中,当选择[是]时,环境变量%YESNO%的值┃ ┃ │ │ 为YES,当窗口超时关闭或选择[否]时这一变量值为NO,可用IFEX或FIND命令判断这一环境变量的值。 ┃ ┃ │ │※"YN"类型消息窗省略默认的选择参数时自动关闭的返回值为NO。 ┃ ┃ │ │※"OK"类型消息窗没有返回值,仅向用户显示提示消息。 ┃ ┣━━┿━━┿━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┫ ┃ │格式│MOUN [!][Wim文件名],,[映像ID],[WimFltr临时工作目录] ┃ ┃ ├──┼──────────────────────────────────────────────┨ ┃ │功能│将WIM文件中的某个映像挂载到指定的目录中或卸下已经挂载上的映像文件。 ┃ ┃ ├──┼──────────────────────────────────────────────┨ ┃ │参数│■Wim文件名 : Microsoft Windows Imaging Format (WIM) 映像格式的文件。 ┃ ┃ │ │■Mount目标目录 : 将WIM映像挂载到的目录。 ┃ ┃ │ │■Wim文件的映像ID : WIM文件中的映像ID,用数值表示。只读挂载映像时,映像ID为 1 时可省略。 ┃ ┃MOUN│ │■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 变量名=<[~]字串号>字符串 //取空格或""分割的子串 ┃ ┃ ├──┼──────────────────────────────────────────────┨ ┃ │功能│从指定"字符串"的起始位置截取指定长度的字符,并将结果返回给指定名称的变量。*则后面是变量名 ┃ ┃ ├──┼──────────────────────────────────────────────┨ ┃ │ │MSTR后的*以TAB键为分段。 字串号前~则脱去前后的"" ┃ ┃ │参数│■变量名: 用于保存命令结果的变量名; ┃ ┃ │ │■位 置: 数值,指定源字符串的起始位置; ┃ ┃MSTR│ │■长 度: 数值,指定截取的长度; ┃ ┃ │ │■字符串: 源字符串,长度不能超2K。 ┃ ┃ ├──┼──────────────────────────────────────────────┨ ┃ │示例│MSTR aStr=2,4,1234567890 或 MSTR aStr=5,7,1234567890 或 MSTR V3=<3>%STRING% ┃ ┃ ├──┼──────────────────────────────────────────────┨ ┃ │备注│※当"位置"小于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"。 ┃ ┣━━┿━━┿━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┫ ┃ │格式│NOTE <标志> ┃ ┃ ├──┼──────────────────────────────────────────────┨ ┃ │功能│控制脚本注释的开关状态 ┃ ┃ ├──┼──────────────────────────────────────────────┨ ┃NOTE│参数│■标志: OFF时为关,非ON为开;参数省略或无法识别时将不操作注释开关状态 。 ┃ ┃ ├──┼──────────────────────────────────────────────┨ ┃ │示例│NOTE OFF 或 NOTE ON ┃ ┃ ├──┼──────────────────────────────────────────────┨ ┃ │备注│※NOTE命令可控制注释符"//"或"`"的开关状态,PECMD默认的状态为开,可用"//"或"`"作脚本注释。 ┃ ┣━━┿━━┿━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┫ ┃ │格式│NUMK <数值> ┃ ┃ ├──┼──────────────────────────────────────────────┨ ┃ │功能│控制小数字键盘的开关状态 ┃ ┃ ├──┼──────────────────────────────────────────────┨ ┃NUMK│参数│■数值0时为关,非0为开 ┃ ┃ ├──┼──────────────────────────────────────────────┨ ┃ │示例│NUMK 1 ┃ ┃ ├──┼──────────────────────────────────────────────┨ ┃ │备注│※原有 SEND 命令可实现相同功能,但不十分准确,当 NUMK 为开时,再发送一次按键反而会关掉。 ┃ ┣━━┿━━┿━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┫ ┃ │格式│PAGE <页面文件路径> <初始大小> [最大值] ┃ ┃ ├──┼──────────────────────────────────────────────┨ ┃ │功能│设置页面文件(虚拟内存)。 ┃ ┃ ├──┼──────────────────────────────────────────────┨ ┃ │参数│■指定页面文件的路径,只能用 DOS 8.3 格式的路径,如"C:\PageFile.sys"。 ┃ ┃ │ │■初始大小和最大值的单位是 MB;当省略最大值时,自动设置 最大值=初始大小。 ┃ ┃ ├──┼──────────────────────────────────────────────┨ ┃PAGE│示例│PAGE C:\PAGEFILE.SYS 128 256 ┃ ┃ ├──┼──────────────────────────────────────────────┨ ┃ │备注│※如果设置了页面文件,则该分区将无法执行格式化等操作。 ┃ ┃ │ │※当 可用内存>初始大小 时,本命令将不设置页文件,即可以定义初始大小来作为设置页文件的条件。 ┃ ┃ │ │※该命令有智能化功能,即从你定义的页面文件名(含盘符)所在的分区起开始搜索符合条件(硬盘和容量)┃ ┃ │ │ 分区来设置页文件,避开速度慢的U盘和移动硬盘。以U盘或移动硬盘启动时,可能配置文件定义的页文┃ ┃ │ │ 件就在U盘或移动硬盘。经一轮搜索若没有找到符合条件的硬盘分区设置页文件才利用U盘或移动硬盘来┃ ┃ │ │ 设置页文件。 ┃ ┣━━┿━━┿━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┫ ┃ │格式│PART [-up] [-admin] [-super] [-CHS=C:H:S] [磁盘]#分区 [a|-a] type [[-]start [len]] ┃ ┃ │ │PART update [磁盘] ┃ ┃ │ │PART list disk [磁盘],变量名 ┃ ┃ │ │PART [-hextp] [-phy] [-phy#] [-fill] list part [磁盘[#分区]],变量名 ┃ ┃ │ │PART [-hextp] [-fill] list drv 盘符,变量名 ┃ ┃ │ │PART /mbr[=nt6|=win|=nt5|=dos|=[*长度限制*]文件名] [磁盘] ┃ ┃ ├──┼──────────────────────────────────────────────┨ ┃ │功能│创建、删除、修改、隐藏、列表分区。 ┃ ┃ ├──┼──────────────────────────────────────────────┨ ┃ │参数│◎默认为较安全模式,只能操作一般不用的3、4分区,且不能是扩展分区。 ┃ ┃ │ │ -admin为高级模式(危险):可以操作1、2分区;-super为超级模式(极其危险):可以操作扩展分区; ┃ ┃ │ │ -up 更新磁盘后,分区表更新到OS。 ┃ ┃ │ │ C:H:S依次为一柱面磁头数:一磁头扇区数:扇区大小。 ┃ ┃ │ │磁盘: 为 hd0至hdN 默认为hd0,hd类型前导可省。 ┃ ┃ │ │分区: 1-4。分别指主分区表的4个分区条目物理号。是固定不变。和前面加载的用的逻辑号不同。 ┃ ┃ │ │ 逻辑号不固定;分区表分区空着或为扩展分区,则没有号码,无法操作(创建)它;前面一分区 ┃ ┃ │ │ 变空,则号码减1。如果位置长度和原来不同,必须先彻底隐藏/删除才能修改。见附录。 ┃ ┃ │ │ +L为扩展分区最后增加一逻辑分区。-L为删除扩展分区最后的逻辑分区。 ┃ ┃ │ │ 此处为逻辑分区的物理号(>=5),则可以修改其激活、类型、起始、长度。 ┃ ┃ │ │[a|-a]: a 为激活 -a为去激活,否则不变 ┃ ┃ │ │type: 分区类型 0-255。0表示彻底隐藏。分区软件和OS都看不见。重新赋予一个新type即可使用 ┃ ┃ │ │ <0或无不改变。磁盘、分区、type、起始、长度可为16进制。 ┃ ┃PART│ │start: 在磁盘上的起始位置。磁盘起始字节为0。磁盘为512字节的倍数(内部自动缩小对齐)。 ┃ ┃ │ │ 可为0。<0或无不改变。-表示由list 算出的上一个分区结尾,其对齐调整不影响len。对逻辑分 ┃ ┃ │ │ 区,可以加+前缀,表示跳过的长度。 ┃ ┃ │ │len: 可为0。<0或无不改变。start_0/len可带单位后缀TGMKS。K为1024字节。S为512字节。 ┃ ┃ │ │彻底删除分区为: PART [磁盘]#分区 -a 0 0 0 ┃ ┃ │ ├──────────────────────────────────────────────┨ ┃ │ │update [磁盘] 分区表更新到OS。默认为磁盘0。 ┃ ┃ │ ├──────────────────────────────────────────────┨ ┃ │ │list disk 没磁盘参数时列出所有磁盘列表,有则返回该磁盘信息 磁盘号 大小 柱面数 磁头数 扇区S ┃ ┃ │ │ 扇区大小 媒体类型、签名(16进制)、总线类型。 ┃ ┃ │ │list part [磁盘] 默认hd0,没有分区参数时列出所有分区列表(-为空,@为扩展分区),有则返回该分区 ┃ ┃ │ │ 信息:分区号 类型 引导标志、起始偏移、大小、隐藏扇区数、结尾、盘符。-hextp 类型为 ┃ ┃ │ │ 16进制0xNN。-phy分区 是物理号,4个主分区1-4,逻辑分区5-N。-phy#:输出物理号 ┃ ┃ │ │ -fill:没有盘符时有占位符* ┃ ┃ │ │list drv 盘符 基本同list part 最后增加磁盘号 ┃ ┃ │ │变量名:返回查询结果。 ┃ ┃ │ ├──────────────────────────────────────────────┨ ┃ │ │/mbr 重写MBR默认为nt6(win),可以指定文件名,不要太巨大。文件名以#开始为EXEDATA下的资源编号。┃ ┃ │ │ 长度限制为最多取的前部长度。不混淆时第二个*可以省略,如有#的时候。 ┃ ┃ ├──┼──────────────────────────────────────────────┨ ┃ │示例│PART 0 //修复磁盘0的分区表有效标志。 ┃ ┃ │ │PART 0#3 a //0#3 分区激活 ┃ ┃ │ │PART 0#3 -a //0#3 分区去激活 ┃ ┃ │ │PART 0#3 0x17 1048576000 2097152000 //100M+200M的分区0#3,隐藏的NTFS ┃ ┃ │ │PART 0#3 0x17 // 隐藏 0#3分区 ┃ ┃ │ │PART 0#3 0x7 // 反隐藏 0#3分区 ┃ ┃ │ │PART 0#3 -a 0 //彻底隐藏,其它分区工具和OS都看不到这个分区 ┃ ┃ │ │PART 0#3 -1 -1 1048576000 //调整长度100M,实际中需要先缩小/后扩大文件系统大小。 ┃ ┃ │ │PART 0#3 -a 0 0 0 //删除分区,不影响分区里面的数据,可以再映射并加载。 ┃ ┃ │ │PART del 0#3 //删除分区,不影响分区里面的数据,可以再映射并加载。 ┃ ┃ │ │PART /MBR=*63s#5 0 //EXEDATA下的5号资源写入磁盘0的MBR,最多63个扇区。 ┃ ┃ │ │PART /MBR=*63s*%CurDir%\MBROS.MBR 0 //%CurDir%\MBROS.MBR 写入磁盘0的MBR,最多63个扇区 ┃ ┃ │ │PART 0#5 a 0x7 // 反隐藏并激活 逻辑分区0#6分区 ┃ ┃ │ │PART -up -align -alignend 0#+L 0x7 +32256 57544704 // 扩展分区最后创建一逻辑分区 ┃ ┃ │ │PART -up 0#-L // 删除最后的逻辑分区 ┃ ┃ ├──┼──────────────────────────────────────────────┨ ┃ │备注│※磁盘操作属于比较危险的系统级操作,请谨慎! ┃ ┣━━┿━━┿━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┫ ┃ │格式│PATH [@][#][目录名] ┃ ┃ ├──┼──────────────────────────────────────────────┨ ┃ │功能│操作目录,用于设置PECMD.EXE的当前工作目录或建立目录或删除目录。 ┃ ┃ ├──┼──────────────────────────────────────────────┨ ┃ │参数│■目录名称(支持带环境变量)。 ┃ ┃ ├──┼──────────────────────────────────────────────┨ ┃PATH│示例│PATH @%CurDrv%\外置程序 或 PATH %TEMP% 或 MDIR %TEMP% ┃ ┃MDIR├──┼──────────────────────────────────────────────┨ ┃ │备注│※前导"@"表示设置PECMD.EXE的当前目录,方便EXEC、DEVI等命令采用相对路径,以缩短命令行长度。 ┃ ┃ │ │※前导"#"表示删除目录,注意该操作也可能删除同名的文件。 ┃ ┃ │ │※省略前导符"@"和"#"时,PATH用于建立目录树(能建立多级目录)。 ┃ ┃ │ │※在配置文件内使用带前导"@"的PATH命令必须谨慎,以防引起错乱。 ┃ ┃ │ │※当参数为空时将恢复 PECMD.EXE 默认的当前目录(%SystemRoot%\SYSTEM32)。 ┃ ┃ │ │※MDIR 目录名等价于 PATH 目录名。 专们创建目录树。 ┃ ┣━━┿━━┿━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┫ ┃ │格式│PBAR <进度条名称>,<进度条形状>,[进度条进度] ┃ ┃ ├──┼──────────────────────────────────────────────┨ ┃ │功能│在_SUB定义的窗口内建立一条进度条。 ┃ ┃ ├──┼──────────────────────────────────────────────┨ ┃ │参数│■进度条名称: 字串,进度条名称应是唯一的,不能与其它控件名称或环境变量名称同名。 ┃ ┃ │ │■进度条形状: 进度条的位置和大小,格式为,左上宽高均为数值。 ┃ ┃PBAR│ │■进度条进度: 数值(1~100),初始化进度条的进度百分数,默认为0。 ┃ ┃ ├──┼──────────────────────────────────────────────┨ ┃ │示例│PBAR Pbar1,L360T11W428H16,0 ┃ ┃ ├──┼──────────────────────────────────────────────┨ ┃ │备注│※PBAR命令必须位于_SUB命令和_END命令之间,其它位置的PBAR命令无效,参照_SUB、CALL命令说明。 ┃ ┃ │ │※要设置进度条的进度,可以使用 "ENVI @进度条名称=数值" 来设置 ,参照 ENVI 命令的说明;当设置┃ ┃ │ │ 的数值小于0时将会使进度条隐藏,大于100的数值将被忽略。 ┃ ┣━━┿━━┿━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┫ ┃ │格式│PCIP ,<子网掩码>,<默认网关>,,[网卡序号],[网卡状态] ┃ ┃ ├──┼──────────────────────────────────────────────┨ ┃ │功能│设置计算机IP地址。 ┃ ┃ ├──┼──────────────────────────────────────────────┨ ┃ │参数│■IP 地址 : IP形式字符串表示网络的IP地址,省略表示不修改IP地址,"-"号表示自动获取IP地址; ┃ ┃ │ │■子网掩码: IP形式字符串表示子网掩码,省略为不修改子网掩码,IP为"-"时表示自动获取子网掩码; ┃ ┃ │ │■默认网关: IP形式字符串表示网关地址,省略为不修改网关地址,IP为"-"时表示自动获取网关地址; ┃ ┃ │ │■DNS 地址: IP形式字符串,表示DNS地址,首选DNS与备用DNS间用"&"连接,省略表示不修改DNS地址, ┃ ┃PCIP│ │ "-"号表示自动获取DNS服务器地址; ┃ ┃ │ │■网卡序号: 数字,可省略,默认为0表示第一网卡,1表示第二网卡,2表示第三网卡,依次类推; ┃ ┃ │ │■网卡状态: 数字,用于操作网卡的启用或禁用状态,非0表示启用0表示禁用,省略则不操作网卡状态。┃ ┃ ├──┼──────────────────────────────────────────────┨ ┃ │示例│PCIP 192.168.1.2,255.255.255.0,192.168.1.1,192.168.1.1 或 PCIP -,-,-,-,,1 ┃ ┃ │ │PCIP ,,,192.168.1.1&10.2.22.1,,1 或 PCIP ,,,,,1 //启用网卡 或 PCIP ,,,,,0 //禁用网卡 ┃ ┃ ├──┼──────────────────────────────────────────────┨ ┃ │备注│※如果没有安装网卡驱动或已禁用网卡或系统不支持网络功能,执行该命令可能没有效果; ┃ ┃ │ │※该命令的参数较多,通常应用的是示例1(设置第一网卡的IP不操作启用)或示例2(自动获得IP和DNS)。 ┃ ┣━━┿━━┿━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┫ ┃ │格式│PINT <文件名称>,[菜单名称|菜单标识|#字符串ID] ┃ ┃ ├──┼──────────────────────────────────────────────┨ ┃ │功能│将已经存在的 EXE 或 LNK 文件 Pin 到"开始菜单"或"任务栏",NT5.x系统只支持"开始菜单"。 ┃ ┃ ├──┼──────────────────────────────────────────────┨ ┃ │参数│■文件名称: 已经存在的 EXE 或 LNK 文件名,要带路径和扩展名,支持环境变量解释; ┃ ┃ │ │■菜单名称: EXE、LNK文件右键菜单对应的字符串,如"附到「开始」菜单(&U)"、"锁定到任务栏(&K)";┃ ┃ │ │■菜单标识: 可以用"StartMenu"或"TaskBand",前者表示Pin到"开始菜单",后者表示Pin到"任务栏"; ┃ ┃ │ │■字符串ID: 数值,"附到「开始」菜单(&U)"、"锁定到任务栏(&K)"在SHELL32.DLL资源字符串的序号。 ┃ ┃ ├──┼──────────────────────────────────────────────┨ ┃PINT│示例│PINT %WinDir%\Regedit.LNK,附到「开始」菜单(&U) 或 PINT %WinDir%\Regedit.EXE,锁定到任务栏(&K)┃ ┃ │ │PINT %WinDir%\System32\calc.exe,#5381 或 PINT %WinDir%\System32\calc.LNK,#5386 ┃ ┃ │ │PINT %WinDir%\System32\PECMD.EXE,StartMenu 或 PINT %WinDir%\Regedit.EXE,TaskBand ┃ ┃ ├──┼──────────────────────────────────────────────┨ ┃ │备注│※该命令需系统功能的支持,在一些精简系统或XP、2003系统中可能因功能的精简或欠缺而无法实现; ┃ ┃ │ │※"菜单名称"、"菜单标识"和"字符串ID"3个参数只取其一,当3个参数均省略时表示Pin到"开始菜单"; ┃ ┃ │ │ 这3个参数因系统而异,建议使用系统的菜单名称,如 "附到「开始」菜单(&U)" 来表示; ┃ ┃ │ │※"菜单名称"原理上可以用系统右键菜单的其它项目,来实现一定的功能,如用"打开(&O)"来打开文件;┃ ┃ │ │※"菜单标识"中的"TaskBand"也可用"TaskBar"代替,如 PINT %WinDir%\Regedit.EXE,TaskBar ┃ ┃ │ │※6个示例中,左边3个表示 Pin 到"开始菜单",右边3个表示 Pin 到"任务栏"。 ┃ ┣━━┿━━┿━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┫ ┃ │格式│PUTF <文件名称>,<起始位置>,<数据队列> ┃ ┃ ├──┼──────────────────────────────────────────────┨ ┃ │功能│以 BINARY 形式修改指定文件的数据。 ┃ ┃ ├──┼──────────────────────────────────────────────┨ ┃ │参数│■文件名称: 已存在的文件名,支持环境变量解释; ┃ ┃ │ │■起始位置: 数值,相对于文件基址的起始位置,支持16进制数值,如 0x100; ┃ ┃PUTF│ │■数据队列: 数值,从起始位置开始写入的数据,多个数值之间用空格分隔,如 0x23 0xAD 0x1C 0x80。┃ ┃ ├──┼──────────────────────────────────────────────┨ ┃ │示例│PUTF %CurDir%\Memu.DAT,0x400,0x23 0xAD 0x1C 0x80 0x6F ┃ ┃ ├──┼──────────────────────────────────────────────┨ ┃ │备注│※PUTF命令修改文件的起始位置是相对于文件基址的,并以复盖方式修改文件,不会改变文件的长度; ┃ ┃ │ │※数据队列建议不要超过40个字节,以 BINARY 方式读取文件的对应命令是 GETF; ┃ ┃ │ │※以字符串方式读取文件或修改文件的命令为 READ 命令和 WRIT 命令。 ┃ ┣━━┿━━┿━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┫ ┃ │格式│RADI <单选框名称>,<单选框形状>,[单选框标题],[单选框事件],[单选框状态],[单选框组ID] ┃ ┃ ├──┼──────────────────────────────────────────────┨ ┃ │功能│在_SUB定义的窗口内建立一个单选框控件。 ┃ ┃ ├──┼──────────────────────────────────────────────┨ ┃ │参数│■单选框名称: 字符串,单选框的名称应是唯一的,不能与其它控件名称或环境变量名称同名。 ┃ ┃ │ │■单选框形状: 单选框位置和大小,格式为,左上宽高均为数值。 ┃ ┃ │ │■单选框标题: 单选框上的文字,用于描述单选框的功能或说明。 ┃ ┃ │ │■单选框事件: 点击该复选框时执行的命令,必须是 PECMD 支持的有效命令。 ┃ ┃RADI│ │■单选框状态: 数字,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 <驱动名称>,[磁盘大小],[磁盘格式],[盘符字母],[磁盘卷标] ┃ ┃ ├──┼──────────────────────────────────────────────┨ ┃ │功能│设置虚拟磁盘(RamDisk) ┃ ┃ ├──┼──────────────────────────────────────────────┨ ┃ │参数│■驱动名称: Ramdriv 或 ImDisk; ┃ ┃ │ │■磁盘大小: 单位为 MB,用 Pxx Lyy Hzz 定义,xx为可用内存百分数,yy为最小值,zz为最大值; ┃ ┃ │ │■磁盘格式: 支持 FAT、FAT32、NTFS 三种格式,设置时将按参数格式化,省略时不对磁盘作格式化; ┃ ┃ │ │■盘符字母: 为 ImDisk 虚拟内存盘分配的盘符,使用 Ramdriv 驱动时该参数及"磁盘卷标"均要省略; ┃ ┃RAMD│ │■磁盘卷标: 使用 ImDisk 驱动时格式化磁盘时设置的卷标。 ┃ ┃ ├──┼──────────────────────────────────────────────┨ ┃ │示例│RAMD ImDisk,L64,NTFS,B:,ImDIsk 或 RAMD Ramdriv,P20L32H64 ┃ ┃ ├──┼──────────────────────────────────────────────┨ ┃ │备注│※使用 Ramdriv 驱动时由驱动分配盘符并格式化;使用 ImDisk 驱动时可由 PECMD 分配盘符并格式化;┃ ┃ │ │※使用 ImDisk 驱动时可用该命令给指定的虚拟盘扩容,如 RAMD ImDisk,L128,NTFS,R:,ImDIsk ┃ ┃ │ │※Pxx Lyy Hzz 三个参数可单独使用,PECMD限定的最小值为1MB,最大值(X86系统2GB,X64系统32GB); ┃ ┃ │ │※使用 WinMount.SYS 驱动挂载 WIM 映像建议用 ImDisk 虚拟盘,小容量的磁盘不能格为 FAT32格式; ┃ ┃ │ │※命令若执行成功,进程环境变量 %CurRamDisk% 即为盘符,可按需用 ENVI 设置成系统环境变量。 ┃ ┣━━┿━━┿━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┫ ┃ │格式│READ <文件名称>,<读取位置>,<变量名称> ┃ ┃ ├──┼──────────────────────────────────────────────┨ ┃ │功能│以字符串(行)的形式读取指定文件的数据。 ┃ ┃ ├──┼──────────────────────────────────────────────┨ ┃ │参数│■文件名称: 已存在的文件名,支持环境变量解释; ┃ ┃READ│ │■读取位置: 行号,小于0表示读取行数,0表示最后一行,其余数值读取指定的行号,支持16进制数值;┃ ┃ │ │■变量名称: 字符串,用于保存读取结果的的变量名。 ┃ ┃ ├──┼──────────────────────────────────────────────┨ ┃ │示例│READ %CurDir%\Memu.LST,10,CurLine 或 READ %CurDir%\Memu.LST,-1,LastLine ┃ ┃ ├──┼──────────────────────────────────────────────┨ ┃ │备注│※READ命令只适用于读取纯文本文件,如菜单配置文件,当某行超过2K时,READ命令可能出错; ┃ ┣━━┿━━┿━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┫ ┃ │格式│RECY <分区标识>,<最大容量> ┃ ┃ ├──┼──────────────────────────────────────────────┨ ┃ │功能│设置 Windows 系统回收站,支持 XP/2003/VISTA/Windows7 及其 WinPE 系统。 ┃ ┃ ├──┼──────────────────────────────────────────────┨ ┃ │参数│■分区标识: 用分区盘符或"*:\"来表示,分区盘符表示指定分区,"*:\"表示所有分区,"\"可以省略。 ┃ ┃RECY│ │■最大容量: 数值,表示回收站的最大空间,NT5.x系统表示百分数,NT6.x系统表示以MB为单位的容量;┃ ┃ │ │ 当数值为0时表示禁用指定分区的回收站功能,被删除的文件将不会移到回收站中。 ┃ ┃ ├──┼──────────────────────────────────────────────┨ ┃ │示例│NT5.x系统: RECY D:,10或RECY E:,0或RECY *:,0 NT6.x系统: RECY C:,2048或RECY D:\,0或RECY *:\,0┃ ┃ ├──┼──────────────────────────────────────────────┨ ┃ │备注│※在NT5.x系统中最大容量超30时,PECMD会使用默认值10;WinPE 中该命令建议放在 INIT 命令后使用。┃ ┣━━┿━━┿━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┫ ┃ │格式│REGI [前导]<\子项\>{<键名,变量名>|[[键名][操作符][[类型符]数据值]]}┃ ┃ ├──┼──────────────────────────────────────────────┨ ┃ │功能│读取或设置、删除注册表数据。 ┃ ┃ ├──┼──────────────────────────────────────────────┨ ┃ │参数│■前导符 "$"、"+"、"#"、"@"、"*"、"~"分别表示读取注册表中的REG_SZ、REG_QWORD、REG_DWORD、 ┃ ┃ │ │ REG_BINARY 、REG_MULTI_SZ、REG_EXPAND_SZ类型数据。写时有则操作符部分作为数据(建议) ┃ ┃ │ │■子项名 所选 ROOTKEY 下注册表项的完整名。 ┃ ┃ │ │■键值名 要操作的键值名。省略则操作默认键值;如果操作符为"!"且没有"=",则用于删除整个子项。┃ ┃REGI│ │■操作符 操作符"!"为删除整个子项;操作符"="且没有数据为删除;操作符"="且有数据为设置数据。 ┃ ┃ │ │■类型符 数据类型。省略为字符串;"#"为REG_DWORD类型数据,如"#0x20";"@"为REG_BINARY类数据,┃ ┃ │ │ 如"@23 34 90 255"。建议不用而用前导。 ┃ ┃ │ │■数据值 字符串空值用""表示、REG_DWORD类型数据、REG_BINARY类型数据支持16进制数值。 ┃ ┃ │ │ 变量名(默认为RegDat)用于保存返回值。 ┃ ┃ ├──┼──────────────────────────────────────────────┨ ┃ │示例│REGI HKCU\SOFTWARE\PECMD\Ver=#1200 、REGI HKCR\lnkfile\ABC="" 、REGI $HKCR\lnkfile\ABC= ┃ ┃ │ │REGI $HKCR\lnkfile\ABC,Name 、REGI $HKCR\lnkfile\=123 ┃ ┃ ├──┼──────────────────────────────────────────────┨ ┃ │备注│※此命令比较复杂,请仔细看说明,示例3为读取IE缓存的位置。 ┃ ┣━━┿━━┿━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┫ ┃ │格式│RPOS <变量名><=><字符>,<数值>,<字符串> ┃ ┃ ├──┼──────────────────────────────────────────────┨ ┃ │功能│返回指定"字符"在"字符串"右边起出现的位置。 ┃ ┃ ├──┼──────────────────────────────────────────────┨ ┃ │参数│■变量名: 用于保存命令结果的变量名; ┃ ┃ │ │■字 符: 被检测的字符,不区分大小写; ┃ ┃RPOS│ │■数 值: 指定被检测的字符出现的次数; ┃ ┃ │ │■字符串: 被检测的字符串,长度不能超2K。 ┃ ┃ ├──┼──────────────────────────────────────────────┨ ┃ │示例│RPOS iPos=a,2,123A56|1234A6|abcdef 或 RPOS iPos=a,3,123A56|1234A6|abcdef ┃ ┃ ├──┼──────────────────────────────────────────────┨ ┃ │备注│※当"数值"小于1时返回最左边被检测字符的位置,如上例2的结果是4;返回结果为0时表示没有找到。 ┃ ┃ │ │※该命令按 Unicode 字符串处理,示例1的返回值为12,示例2的返回值为4。 ┃ ┣━━┿━━┿━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┫ ┃ │格式│RSTR <变量名><=><数目>,<字符串> ┃ ┃ ├──┼──────────────────────────────────────────────┨ ┃ │功能│从指定"字符串"的右边截取指定数目的字符,并将结果返回给指定名称的变量。 ┃ ┃ ├──┼──────────────────────────────────────────────┨ ┃ │参数│■变量名: 用于保存命令结果的变量名; ┃ ┃ │ │■数 目: 指定截取字符的数目; ┃ ┃RSTR│ │■字符串: 源字符串,长度不能超2K。 ┃ ┃ ├──┼──────────────────────────────────────────────┨ ┃ │示例│RSTR aStr=2,1234567890 或 RSTR aStr=5,1234567890 ┃ ┃ ├──┼──────────────────────────────────────────────┨ ┃ │备注│※当"数值"小于1时或超出源字符串的长度时,返回结果为整个源字符串(相当于字符串复制); ┃ ┃ │ │※该命令按 Unicode 字符串处理,示例1的返回值为"90",示例2的返回值为"67890"。 ┃ ┣━━┿━━┿━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┫ ┃ │格式│RUNS <程序命令><*|,><启动项名称> ┃ ┃ ├──┼──────────────────────────────────────────────┨ ┃ │功能│设置Windows的启动项 ┃ ┃ ├──┼──────────────────────────────────────────────┨ ┃ │参数│■程序命令为EXE、CMD、BAT各种可执行的命令,可带参数;启动项名称为文字。 ┃ ┃RUNS├──┼──────────────────────────────────────────────┨ ┃ │示例│RUNS PECMD.EXE EXEC !%CurDrv%\外置程序\DRIVER\STARTDRIVER.CMD,安装驱动。 ┃ ┃ ├──┼──────────────────────────────────────────────┨ ┃ │备注│※原REGI命令可实现相同的功能,只是用REGI命令表示需要文字太长,才将这一功能单独做成一条命令。┃ ┃ │ │※程序命令和启动项名称之间的分隔符为右起的"*"或左起的"," ┃ ┃ │ │※本命令既能在命令行中使用,也能在配置文件中使用。 ┃ ┣━━┿━━┿━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┫ ┃ │格式│SCRN [变量名1],[变量名2] ┃ ┃ ├──┼──────────────────────────────────────────────┨ ┃ │功能│返回屏幕当前的宽和高。 ┃ ┃ ├──┼──────────────────────────────────────────────┨ ┃SCRN│参数│■变量名: 用于保存屏幕当前宽和高的变量名; ┃ ┃ ├──┼──────────────────────────────────────────────┨ ┃ │示例│SCRN ScrW,ScrH ┃ ┃ ├──┼──────────────────────────────────────────────┨ ┃ │备注│※变量名不能和已存在的变量名相同,当命令出错时两变量的返回结果均为空值或数值0 ┃ ┣━━┿━━┿━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┫ ┃ │格式│SEND <按键1[_|^]>,[按键2[_|^]],[按键3[_|^]]... ┃ ┃ ├──┼──────────────────────────────────────────────┨ ┃ │功能│模拟按键。 ┃ ┃ ├──┼──────────────────────────────────────────────┨ ┃ │参数│■按键: 简单按键("A"~"Z"或"0"~"9")可用字母表示;其它按键要用前导符"#"连虚拟按键代码表示, ┃ ┃SEND│ │ 如VK_NUMLOCK,请参相关考编程文档。 ┃ ┃ │ │ 如果按键代码以"_"结束,则仅模拟按键按下;"^"则仅模拟按键弹起;否则模拟按下并弹起。 ┃ ┃ ├──┼──────────────────────────────────────────────┨ ┃ │示例│SEND #0x12_,#0x09_,#0x09^,#0x12^ 或 SEND #0x11_,A_,A^,#0x11^ ┃ ┃ ├──┼──────────────────────────────────────────────┨ ┃ │备注│※示例1模拟 Alt+Tab;示例2模拟 Ctrl + A。虚拟按键代码支持 16 进制和十进制。 ┃ ┣━━┿━━┿━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┫ ┃ │格式│SERV [!]<服务名称> ┃ ┃ ├──┼──────────────────────────────────────────────┨ ┃ │功能│启动或停止服务或驱动程序。 ┃ ┃ ├──┼──────────────────────────────────────────────┨ ┃SERV│参数│■指定服务名称。前导"!"表示停止服务,否则启动服务。 ┃ ┃ ├──┼──────────────────────────────────────────────┨ ┃ │示例│SERV FBWF ┃ ┃ ├──┼──────────────────────────────────────────────┨ ┃ │备注│※此命令来启动FBWF服务(如果安装了的话),以增加系统盘的可写空间,这样PE就能在光盘上运行了。 ┃ ┣━━┿━━┿━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┫ ┃ │格式│SHEL [-user|-sys] <文件名(含路径)>,[密码MD5字符串],[重试次数] ┃ ┃ ├──┼──────────────────────────────────────────────┨ ┃ │功能│加载指定的SHELL,并将SHELL锁定。 -user用户级 -sys:系统级 ┃ ┃ ├──┼──────────────────────────────────────────────┨ ┃ │参数│■文件名为SHELL文件名(含路径,可使用环境变量)。 ┃ ┃ │ │■密码是英文字母和数字,区分大小写,密码的最大长度是12个字符。 ┃ ┃ │ │■省略密码MD5字符串时会自动登录,默认的重试机会为3次。 ┃ ┃SHEL├──┼──────────────────────────────────────────────┨ ┃ │示例│SHEL %SystemRoot%\EXPLORER.EXE,e10adc3949ba59abbe56e057f20f883e,5 ┃ ┃ ├──┼──────────────────────────────────────────────┨ ┃ │备注│※只有通过SHEL命令加载的EXPLORER.EXE,才能修改关机代码,从[开始菜单]处关机/重启。 ┃ ┃ │ │※本命令同时具有锁定SHELL的功能,当SHELL被杀时能自动加载SHELL。 ┃ ┃ │ │※带登录密码的SHELL命令,建议在它之前开启LOGO命令。 ┃ ┃ │ │※SHEL命令之后的TEXT命令的各参数可能要重新设置。 ┃ ┃ │ │※SHEL命令必须在HOTK命令之后,本命令不能在命令行中使用,只能在配置文件中使用。 ┃ ┣━━┿━━┿━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┫ ┃ │格式│SHOW [磁盘分区],[盘符字母],[等待时间] ┃ ┃ ├──┼──────────────────────────────────────────────┨ ┃ │功能│显示系统存在的移动硬盘、固定硬盘的隐藏分区或沒有加载的分区,并给这些分区分配盘符。 ┃ ┃ ├──┼──────────────────────────────────────────────┨ ┃ │参数│■磁盘分区: 由 [硬盘号或标识符:分区号] 组成,"硬盘号"与"标识符"只取其一。 ┃ ┃ │ │ ◆硬盘号: 用数值表示,小于"0"表示所有的硬盘、U盘和移动硬盘,"0"表示"hd0","1"表示┃ ┃ │ │ "hd1","2"表示"hd2","3"表示"hd3",依次类推; ┃ ┃ │ │ ◆标识符: 用"F"或"U"表示,"F"表示固定硬盘,"U"表示U盘或USB移动硬盘; ┃ ┃ │ │ ◆分区号: 用数值表示,小于"0"表示全部还没有盘符的分区,"0"表示全部还没有盘符的可┃ ┃ │ │ 见分区,"1"表示第1分区,"2"表示第2分区,"3"表示第3分区,依次类推; ┃ ┃SHOW│ │■盘符字母: 用字母"C~Z"表示,省略"盘符字母"或设置盘符不合理时由 PECMD.EXE 自动分配盘符。 ┃ ┃ │ │■等待时间: 数字,表示为设备就绪等待若干时间(毫秒)后才执行分配盘符的功能。 ┃ ┃ ├──┼──────────────────────────────────────────────┨ ┃ │示例│SHOW 0:1,H 或 SHOW U:1,U 或 SHOW F:0 或 SHOW U:0,,3000 或 SHOW U:-1 或 SHOW ┃ ┃ ├──┼──────────────────────────────────────────────┨ ┃ │备注│※某些机型在WinPE启动后已经可以识别移动硬盘,但没有为移动硬盘指派盘符,可以通过 SHOW 命令的 ┃ ┃ │ │ "U"标识符为移动硬盘分配盘符,示例2表示给"移动硬盘的第1分区"指派为盘符"U:"; ┃ ┃ │ │※示例1表示"硬盘0分区1"指派为盘符"H:",示例3表示自动为"固定硬盘的所有可见分区"指派盘符; ┃ ┃ │ │※通常"等待时间"可以省略,"等待时间"是驻留内存的PECMD在检测到移动硬盘插入时内部使用的变量; ┃ ┃ │ │※省略所有参数的SHOW命令不会主动载入隐藏分区,要载入隐藏分区,"分区号"必须设置为数值"-1"; ┃ ┃ │ │※删除盘符可用SUBJ命令,该命令与SUBJ命令配合,可载入隐藏分区的外置程序并保持原分区隐藏属性。┃ ┣━━┿━━┿━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┫ ┃ │格式│SHUT [E|H|L|R|S] ┃ ┃ ├──┼──────────────────────────────────────────────┨ ┃ │功能│关闭或重启计算机等操作。 ┃ ┃ ├──┼──────────────────────────────────────────────┨ ┃ │参数│■无参数 : 默认为关闭系统; ┃ ┃ │ │■参数"E": 关闭系统前先弹出光驱,10秒后再关闭系统; ┃ ┃ │ │■参数"H": 执行休眠操作,系统必须支持休眠(可以在控制面板的电源选项启用休眠); ┃ ┃SHUT│ │■参数"L": 执行注销用户操作,只能在正常系统中使用; ┃ ┃ │ │■参数"R": 执行重启系统操作; ┃ ┃ │ │■参数"S": 执行挂起系统操作,只能在正常系统中使用。 ┃ ┃ ├──┼──────────────────────────────────────────────┨ ┃ │示例│SHUT E ┃ ┃ ├──┼──────────────────────────────────────────────┨ ┃ │备注│※该命令可在命令行中使用,关机功能是快速关机,可能不会保存所有数据;            ┃ ┃ │  │※注销功能只能在正常的系统中使用;不要在PE系统中使用,PE系统无法实现注销功能。       ┃ ┣━━┿━━┿━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┫ ┃ │格式│SITE <文件目录路径>,<文件目录属性> ┃ ┃ ├──┼──────────────────────────────────────────────┨ ┃ │功能│设置或清除文件目录的属性,SITE命令支持A、H、R、S 四种属性。 ┃ ┃ ├──┼──────────────────────────────────────────────┨ ┃SITE│参数│■设置属性用"+",清除属性用"-",(A=ARCHIVE; H=HIDDEN; R=READONLY; S=SYSTEM) ┃ ┃ ├──┼──────────────────────────────────────────────┨ ┃ │示例│SITE %SystemRoot%\System32\calc.exe,+H+R ┃ ┃ ├──┼──────────────────────────────────────────────┨ ┃ │备注│※SITE命令既可设置文件属性,也可设置目录属性。 ┃ ┣━━┿━━┿━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┫ ┃ │格式│SIZE <变量名><=><文件目录名> ┃ ┃ ├──┼──────────────────────────────────────────────┨ ┃ │功能│返回指定"文件目录"的所占的大小,单位为字节 ┃ ┃ ├──┼──────────────────────────────────────────────┨ ┃ │参数│■变量名: 用于保存文件目录所占的大小的变量名称; ┃ ┃SIZE│ │■文件名: 合法的文件目录名称。 ┃ ┃ ├──┼──────────────────────────────────────────────┨ ┃ │示例│SIZE iSize=C:\Windows\System32\calc.exe 或 SIZE iSize=C:\Windows\System32 ┃ ┃ ├──┼──────────────────────────────────────────────┨ ┃ │备注│※当文件目录名是相对路径时,表示相对于 PECMD.EXE 的工作目录或配置文件的工作目录; ┃ ┃ │ │※示例1结果是文件"calc.exe"大小,示例2结果是目录"C:\Windows\System32"的大小。 ┃ ┣━━┿━━┿━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┫ ┃ │格式│SPIN [-right] [-left] <按钮名称>,<形状>[,值信息][,命令参数名][,命令][,状态] ┃ ┃ ├──┼──────────────────────────────────────────────┨ ┃ │功能│在_SUB定义的窗口内建立一个上下键按钮。 ┃ ┃ ├──┼──────────────────────────────────────────────┨ ┃ │参数│ <按钮名称>前的 * 表示退出代码块或函数时自动回收。 ┃ ┃ │ │■按钮名称: 字符串,按钮名称应是唯一的,不能与其它控件名称或环境变量名称同名。 ┃ ┃ │ │■形状: 按钮位置和大小,格式为,左上宽高均为数值。 ┃ ┃ │ │■值信息: [伙伴EDIT名][:起始值][:终到值][:初值] 。默认:0:100:0。EDIT名优先于自动结伴。 ┃ ┃SPIN│ │■事件: 点击该按钮时执行的命令,必须是 PECMD 支持的有效命令。 ┃ ┃ │ │■命令参数名: [新值名][:按钮名][:旧值名] 。按钮名返回0/1 ,对应下按钮/上按钮。 ┃ ┃ │ │■状态: 数字,负号为禁用状态。0x10不可见。0x20回绕。0x40水平。0x80自动结伴前1控件 ┃ ┃ ├──┼──────────────────────────────────────────────┨ ┃ │示例│SPIN SPIN2,L32T108W300H54,edit1:-10:10,&&pos:&&id:&&oldv, CALL OnSPIN1 %&pos% %&id%,0x40 ┃ ┃ ├──┼──────────────────────────────────────────────┨ ┃ │备注│※SPIN命令一般位于_SUB命令和_END命令之间,参照_SUB、CALL命令说明。 ┃ ┃ │ │※要设置SPIN上的文本,可使用 "ENVI @SPIN名称=按钮文本" 来设置,参照 ENVI 命令的说明。 ┃ ┃ │ │※可用"ENVI @SPIN名称.Enable=[#]数值",0为禁用状态;1为可用状态(不响应)。#用于子线程 ┃ ┃ │ │※可用"ENVI @SPIN名称.Visable=数值"来设置可见状态;0为不可见,非0为可见。 ┃ ┣━━┿━━┿━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┫ ┃ │格式│SSTR <变量名称><=><检测标志>,<子字符串>,<源字符串> ┃ ┃ ├──┼──────────────────────────────────────────────┨ ┃ │功能│返回指定"子字符串"在"源字符串"左边起出现的位置。 ┃ ┃ ├──┼──────────────────────────────────────────────┨ ┃ │参数│■变量名称: 用于保存命令结果的变量名; ┃ ┃SSTR│ │■检测标志: 用数值表示,省略为默认值0,表示区分大小写,非0表示不区分大小写。 ┃ ┃ │ │■子字符串: 被检测的子字符串,不区分大小写; ┃ ┃ │ │■源字符串: 被检测的源字符串,长度不能超2K; ┃ ┃ ├──┼──────────────────────────────────────────────┨ ┃ │示例│SSTR iPos=,com,bbs.wuyou.com 或 SSTR iPos=1,COM,bbs.wuyou.com ┃ ┃ ├──┼──────────────────────────────────────────────┨ ┃ │备注│※该命令按 Unicode 字符串处理,返回结果为0时表示没有找到。 ┃ ┣━━┿━━┿━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┫ ┃ │格式│STRL <变量名><=><字符串> ┃ ┃ ├──┼──────────────────────────────────────────────┨ ┃ │功能│返回指定"字符串"的长度。 ┃ ┃ ├──┼──────────────────────────────────────────────┨ ┃STRL│参数│■变量名: 用于保存命令结果的变量名; ┃ ┃ │ │■字符串: 被检测的字符串,长度不能超2K; ┃ ┃ ├──┼──────────────────────────────────────────────┨ ┃ │示例│STRL iLen=1234567890 或 STRL dLen=一二三四五 ┃ ┃ ├──┼──────────────────────────────────────────────┨ ┃ │备注│※该命令的返回结果是Unicode字符串的长度,示例1的返回值为10,示例2的返回值为5 ┃ ┣━━┿━━┿━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┫ ┃ │格式│SUBJ <虚拟驱动器>,[指派给虚拟驱动器的路径] ┃ ┃ ├──┼──────────────────────────────────────────────┨ ┃ │功能│将路径与驱动器号关联,相当于CMD的 SUBST 命令。 ┃ ┃ ├──┼──────────────────────────────────────────────┨ ┃SUBJ│参数│■如果省略"指派给虚拟驱动器的路径",则删除指定的虚拟驱动器。 ┃ ┃ ├──┼──────────────────────────────────────────────┨ ┃ │示例│SUBJ B:,X:\PE_Tools 或 SUBJ U: ┃ ┃ ├──┼──────────────────────────────────────────────┨ ┃ │备注│※虚拟时,虚拟驱动器须是不存在的;删除虚拟驱动器时,盘符必须准确,否则可能会删除物理驱动器。┃ ┣━━┿━━┿━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┫ ┃ │格式│TEAM [命令1][|命令2][|命令3]...[|命令n] ┃ ┃ ├──┼──────────────────────────────────────────────┨ ┃ │功能│按顺序执行指定命令群组中的各条命令。 ┃ ┃ ├──┼──────────────────────────────────────────────┨ ┃TEAM│参数│■一条或多条命令,多条命令之间用"|"分开。 ┃ ┃ ├──┼──────────────────────────────────────────────┨ ┃ │示例│TEAM TEXT 载入桌面|LOGO|SHEL %SystemRoot%\EXPLORER.EXE|WAIT 3000 ┃ ┃ ├──┼──────────────────────────────────────────────┨ ┃ │备注│※本命令后面的命令中不能嵌入IFEX或FIND命令。 ┃ ┣━━┿━━┿━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┫ ┃ │格式│TEMP <[@]Delete|[$]Setting> ┃ ┃ ├──┼──────────────────────────────────────────────┨ ┃ │功能│清理用户临时文件夹或重新设用户置临时文件夹的位置。 [$]设置系统变量 ┃ ┃ ├──┼──────────────────────────────────────────────┨ ┃TEMP│参数│■Delete表示清理临时目录,前导@表示不经用户确认直接清理;Setting表示重新设置临时目录的位置。┃ ┃ ├──┼──────────────────────────────────────────────┨ ┃ │示例│TEMP Delete ┃ ┃ ├──┼──────────────────────────────────────────────┨ ┃ │备注│※不要在配置文件使用本命令,必须启动到桌面使用;本命令是从注册表读取临时目录位置。 ┃ ┣━━┿━━┿━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┫ ┃ │格式│TEXT [文字行1][\n]文字行2[\n]文字行3...][#颜色][L左][T上][R右][B下][$字体大小][*] ┃ ┃ ├──┼──────────────────────────────────────────────┨ ┃ │功能│在登录画面中或桌面窗口显示文字。 ┃ ┃ ├──┼──────────────────────────────────────────────┨ ┃ │参数│■文字为空则清除最近定义的矩形区内的文字;默认颜色为白色,默认坐标大致在左上角;结尾"*"表示 ┃ ┃ │ │ 显示新文字前不清除原来已显示的文字。 ┃ ┃TEXT├──┼──────────────────────────────────────────────┨ ┃ │示例│TEXT 正在注册组件……#0xFFDDDD L4 T720 R300 B768 $20 ┃ ┃ ├──┼──────────────────────────────────────────────┨ ┃ │备注│※本命令支持多行显示文字,文字行间用"\n"表示断行。 ┃ ┃ │ │※字体大小默认为14(相当宋体小5号)。 ┃ ┃ │ │※指定的位置[左,上,右,下]与文字的长度和字体的大小有关。 ┃ ┃ │ │※本命令在登录期间(配置文件)中使用时将在登录画面显示文字,在Windows中(登录后)使用将在桌面窗 ┃ ┃ │ │ 口显示文字;当文字为空时则清除最近定义的矩形区内的文字。 ┃ ┣━━┿━━┿━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┫ ┃ │格式│THRD/THREAD 【-exp】 [-link] 命令[组] ┃ ┃ T ├──┼──────────────────────────────────────────────┨ ┃ H T│功能│启动一个线程,运行一命令(组)。 命令组中不要用%n的命令行参数,需要的先用ENVI转一下。 ┃ ┃ R H├──┼──────────────────────────────────────────────┨ ┃ E R│参数│■任何合法命令或命令组。-link为保持父子关系,包刮窗口,等子线程结束,只有这样才能操作父线程 ┃ ┃ A D│ │ (已有线程安全)。-exp则提前先解释一次后面的命令组(第一开关) ┃ ┃ D │ │※ 创建线程后%&__LastTID%为刚创建线程的唯一ID。%&__TID% 为本线程ID。 ┃ ┃ ├──┼──────────────────────────────────────────────┨ ┃ │示例│THRD CALL Hello a1 a2 a3 或 TEAM THREAD CALL @WIN2| CALL @WIN1 //同时开两个窗口 ┃ ┣━━┿━━┿━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┫ ┃ │格式│TIME <定时器名称>,<定时器周期>,[定时器事件] ┃ ┃ ├──┼──────────────────────────────────────────────┨ ┃ │功能│在_SUB定义的窗口内建立一个定时器控件。 ┃ ┃ ├──┼──────────────────────────────────────────────┨ ┃ │参数│■定时器名称: 字符串,定时器的名称应是唯一的,不能与其它控件名称或环境变量名称同名。 ┃ ┃ │ │■定时器周期: 数字,单位为毫秒,数值大于0表示定时器即刻工作,数值为0时表示定时器暂停工作。 ┃ ┃TIME│ │■定时器事件: 触发定时器时执行的命令,必须是 PECMD 支持的有效命令。 ┃ ┃ ├──┼──────────────────────────────────────────────┨ ┃ │示例│TIME Timer1,10000,FILE %TEMP%\*.* ┃ ┃ ├──┼──────────────────────────────────────────────┨ ┃ │备注│※TIME命令必须位于_SUB命令和_END命令之间,其它位置的TIME命令无效,参照_SUB、CALL命令说明。 ┃ ┃ │ │※环境变量 %定时器名称% 为定时器的工作状态,0为暂停,非0为已启动。 ┃ ┃ │ │※暂停定时器可用 "ENVI @定时器名=0",再启动定时器可用"ENVI @定时器名=定时器周期(数值)" 。 ┃ ┣━━┿━━┿━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┫ ┃ │格式│TIPS [提示框标题],<提示框内容>,[提示框寿命],[图标样式ID],[<@[A]提示框位置>|[托盘栏图标]] ┃ ┃ ├──┼──────────────────────────────────────────────┨ ┃ │功能│在屏幕指定位置或托盘处显示一个气泡提示框,省略所有参数时表示清除托盘栏无效图标。 ┃ ┃ ├──┼──────────────────────────────────────────────┨ ┃ │参数│■提示框标题: 字符串,提示框标题处显示的文字,长度不能超过64个字符,超出部分无效。 ┃ ┃ │ │■提示框内容: 字符串,提示框显示的正文内容,长度不能超过256个字符,可以用"\n"表示分行。 ┃ ┃ │ │■提示框寿命: 数字,表示提示框持续显示的时间(毫秒),省略为默认10秒,最长显示时间由系统决定。┃ ┃ │ │■图标样式ID: 数字,默认0(无图标),1(信息图标),2(警告图标),3(错误图标),4或以上(托盘图标) ┃ ┃TIPS│ │■提示框位置: 必须带前导"@",表示在屏幕指定位置显示提示框,前导"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 [$]<参数> ┃ ┃ ├──┼──────────────────────────────────────────────┨ ┃ │功能│执行 BartPE.EXE 的功能。 ┃ ┃ ├──┼──────────────────────────────────────────────┨ ┃ │参数│■前导"$" 表示显示 BartPE.EXE 的执行界面; ┃ ┃UPNP│ │■参数为 BartPE.EXE 的命令行参数。 ┃ ┃ ├──┼──────────────────────────────────────────────┨ ┃ │示例│UPNP -pnp 或 UPNP $-pnp ┃ ┃ ├──┼──────────────────────────────────────────────┨ ┃ │备注│※本命令内钳新版 BartPE.EXE 执行代码,WinPE 无需 BartPE.EXE 文件也可完成 BartPE.EXE 的功能;┃ ┃ │ │※本命令只支持NT5.x系列PE且为阻塞模式执行,命令完成后才执行下一条命令;注意参数及其大小写。 ┃ ┣━━┿━━┿━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┫ ┃ │格式│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 ┃ ┃ ├──┼──────────────────────────────────────────────┨ ┃ │备注│※支持环境变量、支持各种格式的图形文件,本命令既能在命令行中使用,也能在配置文件中使用。 ┃ ┣━━┿━━┿━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┫ ┃ │格式│WRIT <文件名称>,<修改位置>,[文件数据] ┃ ┃ ├──┼──────────────────────────────────────────────┨ ┃ │功能│以字符串(行)的形式修改指定文件的数据。 ┃ ┃ ├──┼──────────────────────────────────────────────┨ ┃ │参数│■文件名称: 合法的文件名,支持环境变量解释; ┃ ┃ │ │■修改位置: 由前导"$"、"+"、"-"和行号组成,格式为"[$][+|-]<行号>"; ┃ ┃ │ │ 前导"$"表示将"文件数据"内的环境变量展开; ┃ ┃ │ │ 前导"+"表示在指定行号位置用"文件数据"加插一行; ┃ ┃WRIT│ │ 前导"-"表示删除指定行号的一行; ┃ ┃ │ │ 省略"+"和"-"时表示用"文件数据"替换指定的一行; ┃ ┃ │ │ 行号用数值表示,"0"表示操作最后一行,行号设置不合理时 PECMD 将不作任何操作。 ┃ ┃ │ │■文件数据: 字符串,用于加插或替换文件中某行的数据,修改位置带前导"$"时支持环境变量解释。 ┃ ┃ ├──┼──────────────────────────────────────────────┨ ┃ │示例│WRIT C:\BOOT.INI,+0,C:\AVLDR.NT6=Window_7_PE 或 WRIT C:\BOOT.INI,+0,C:\AVLDR.NT5=Window_PE ┃ ┃ ├──┼──────────────────────────────────────────────┨ ┃ │备注│※WRIT命令只适用于修改纯文本文件,如CMD、BAT批处理文件和菜单配置文件; ┃ ┃ │ │※WRIT命令和LOOP命令必须位于单独一行,不能套在 FIND、IFEX、TEAM 命令内。 ┃ ┗━━┷━━┷━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ ┃ 关于 PECMD - WinPE Commander 的特别声明 ┃ ┣━━┯━━┯━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┫ ┃ │命令│ '致谢' ┃ ┃ ├──┴──────────────────────────────────────────────┨ ┃ │◎感谢 Lxl1638 公开 PECMD2.4 的源代码,PECMD2012是参考PECMD2.4,重新设计而成。 ┃ ┃ │◎感谢 Yonsm 公开 XCMD 的源代码,PECMD是在 XCMD V2.2版的基础上补充完善而成。 ┃ ┃ │◎感谢 无忧论坛网友的建议。 ┃ ┃致谢│◎感谢 无忧论坛 提供的讨论场所。 ┃ ┃ │◎感谢 qinjg8008 提供设置虚拟内存的源代码。 ┃ ┃ │◎感谢 Sherpya 公开 XPE Plugin 的全套源代码。 ┃ ┣━━┿━━┯━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┫ ┃ │命令│'许可' ┃ ┃ ├──┴──────────────────────────────────────────────┨ ┃ │PECMD2012 NonCopyRight 许可: ┃ ┃ │◎任何个人和组织(含商业组织)可随意免费使用,逆向工程,2进制修改... ┃ ┃ │◎如果您使用或修改了其中任何源代码,则强烈建议把使用这些源代码的项目以及项目内的所有源代码公开。 ┃ ┃ │ 对商业组织,可以不公开源代码,但必须公开开发接口及其文档。 ┃ ┃ │◎尽量保持版本的一致性。 ┃ ┃ │◎内部使用不受此限制。 ┃ ┃ │ DSystem mdyblog.blog.163.com 2012.1.22 ┃ ┃ ├─────────────────────────────────────────────────┨ ┃ │原 PECMD2.4 许可: ┃ ┃许可│◎本程序及其源代码是可以免费获取的。 ┃ ┃ │◎如果您使用或修改了其中任何源代码,则必须把使用这些源代码的项目以及项目内的所有源代码和文档公开。┃ ┃ │ 否则禁止使用本程序源代码的任何部分。 ┃ ┃ │◎您可复制、分发和传播无限制数量的软件产品,但您必须保证每一份复制、分发和传播必须是完整和真实的,┃ ┃ │ 包括所有本软件产品的软件、电子文档,版权和商标宣言。 ┃ ┃ │◎作者特申明对本软件产品之使用不提供任何保证,不对任何用户保证本软件产品适用性,不保证无故障产生;┃ ┃ │ 亦不对任何用户使用此软件所遭遇到的任何理论上的或实际上的损失承担责任。 ┃ ┃ │◎如果您使用本软件,即表示已经默认接受了此协议。 ┃ ┃ │◎要获取更多信息,请访问 WWW.YONSM.NET、BBS.WUYOU.COM。 ┃ ┃ │ ┃ ┃ │Yonsm Lxl1638 ┃ ┃ │Yonsm@163.com Lxl1638@21cn.com ┃ ┃ │WWW.Yonsm.NET BBS.WUYOU.COM ┃ ┃ │2007.1.24,杭州 07.03.01,茂名二中┃ ┗━━┷━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ mdyblog.blog.163.com DSystem ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ ┃◎献爱心. 支持捐赠PECMD、WinCMD、WimTool ┃ ┃ ┃ ┃ PECMD、WinCMD 和WimTool 是DSystem、Lxl1638黎诗婷、Yonsm等人近几年来为 Windows 预安装环境(简称 WinPE)┃ ┃所写的免费工具。PECMD 已成为国内及其它一些国家 WinPE 的登录命令和命令解释工具,WinCMD 也可作为正常系统中┃ ┃的另类命令解释器来加强和补充批处理脚本的功能。 ┃ ┃ 如果您认为这些工具在系统维护安装中有实用价值,且不嫌麻烦,您可捐赠PECMD、WinCMD 和 WimTool。 ┃ ┃ ┃ ┃黎版定制捐赠支付: 中国建设银行 广东省分行 茂名市为民分理处 6227 0031 4206 0043 437 黎诗婷 ┃ ┃黎版定制联系邮箱: lxl1638@21cn.com ┃ ┃黎版定制完成时间: 制定个人版和专业版,本人在收到邮件后利用业余时间的2个工作日内完成; ┃ ┃ 黎版制定团体版,本人在收到邮件后利用业余时间的1个工作周内完成; ┃ ┃ 黎版制定定制版,本人将根据难度来确定任务的可行性和任务的完成时间。 ┃ ┃ ┃ ┃ 感谢给 PECMD、WinCMD、WimTool 提供建议、意见和其它信息的热心网友和论坛管理,感谢您对 PECMD、WinCMD、┃ ┃WimTool 的捐赠支持,感谢每一位 PECMD、WinCMD、WimTool 的用户!祝大家新年快乐,心想事成! ┃ ┃ ┃ ┃ 您现在所使用的是免费版 PECMD2012,免费版 PECMD2012 没有任何功能限制和标记。 ┃ ┃ ┃ ┃ 黎诗婷,于2010年春节前(DSystem适当修改;988668于2012/7/13再次适度修改) ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛