#code=936 //GBK=936 BIG5=950 ASCII=0(default) _END _SUB BROW CALC CALL CHEK CODE COME CMPS DEVI DFMT DISP EDIT EJEC ENVI EXEC EXIT FBWF FDIR FDRV FILE FIND FONT FORX GETF GROU HIDE HIVE HOME IFEX INIT ITEM KILL LABE LINK LIST LOAD LOGO LOGS LOOP LSTR MAIN MDIR MEMO MENU MESS MOUN MSTR NAME NOTE NUMK PAGE PART PATH PCIP PINT PUTF RADI RAMD RECY REGI RSTR RUNS SCRN SERV SET SHEL SHOW SHUT SITE STRL SUBJ TEAM TEMP TEXT THREAD *┃ R ├ TIME UPNP USER WALL WAIT \ ## ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ ┃ 欢迎使用 PECMD2012 - WinPE Commander,功能强大的 WinPE 命令解释工具! ┃ ┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┫ ┃ 官方网址:http://mdyblog.blog.163.com ┃ ┃PECMD2012 NonCopyRight,任何个人和组织(含商业组织)可随意免费使用,2进制编辑...,技术支持可咨询作者 ┃ ┣━┯━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┫ ┃重│在CMD批处理中执行PECMD命令时,若使用PECMD内置环境变量,请用双对百分号将其包围,%%Desktop%% ┃ ┃要│在CMD窗口或WinGUI程序中执行命令时,若要使用内置环境变量,只需一对百分号即可,%Desktop% ┃ ┃说│表示%而不是变量标识用%% 。内置随机数变量%RANDOM%。%PECMDVER% 实时当前目录:%_CD%;当前PID:%&__PID% ┃ ┃明│路径变量写法标准:盘符:\%路径变量%\%路径变量%,命令器不会自动添加“:”与“\”,请注意! ┃ ┃ │语法标准1:ABCD [磁盘分区],[盘符字母],[等待时间]参数为空也不能忽略参数间的逗号! ┃ ┃ │语法标准2:ABCD [磁盘分区][,盘符字母][,等待时间]参数为空也可逆向忽略参数前的逗号! ┃ ┃ │▲LOAD "X:\Program Files\a.ini" 引号一定不能省,因为本LOAD 可带参数。参见LOAD备注 ┃ ┃ │▲命令词主体: A-Z a-z 0-9 _ 汉字 。而 $#@+-|^&等都是后缀开始标志。FIND-JPG和THREAD* FIND-JPG 非法。┃ ┃ │▲如果在命令行中使用,且参数中带有">"或"|"或"&"或"^",则命令后的参数必须用引号包围。 ┃ ┣━┷┯━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┫ ┃版号│☆PECMD v2012.1.70.0 fix03 X86U ┃ ┃ │◎直接执行本程序,将显示帮助信息。支持环境变量,不区分大小写,"<>"内的参数必须输入,"[]"内的可以省略 ┃ ┃ │◎config目录下的system,注册表编辑器加载配置单元,Setup\CmdLine项,将数值数据中的“winpeshl.exe” ┃ ┃ │ 改为“PECMD.EXE MAIN %WinDir%\System32\PECMD.INI” (WINPE使用PECMD方法) ┃ ┗━━┷━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ ┃ WinCMD - Windows Commander,内置以下环境变量的支持 ┃ ┣━━━━━━━━━━━━━━━━━┯━━━━━━━━━━━━━━━━━┯━━━━━━━━━━━━━━━━┫ ┃CurDir &CurDir 配置文件目录│CurFile &CurFile 配置文件名称│CurDrv &CurDrv 配置文件驱动器┃ ┃Favorites 收藏夹全路径│IECache IE临时目录名│MyName 自身文件名┃ ┃Personal 我的文档目录│Programs 程序菜单目录│SendTo 发送到目录┃ ┃StartMenu 开始菜单目录│Startup 启动菜单目录│QuickLaunch 快速启动栏┃ ┃Desktop 桌面目录名 │"%CurDir%" 表示当前目录│"%CurDrv%" 表示当前盘符┃ ┗━━━━━━━━━━━━━━━━━┷━━━━━━━━━━━━━━━━━┷━━━━━━━━━━━━━━━━┛ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ ┃ PECMD - WinPE Commander 命令解释及说明 ┃ ┣━━┯━━┯━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┫ ┃ │格式│_END ┃ ┃_END├──┼──────────────────────────────────────────────┨ ┃ │功能│结束子过程,继续执行调用该子过程的CALL命令的下一命令,必须与 _SUB 命令一一匹配, 必须单独一行 ┃ ┣━━┿━━┿━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┫ ┃ │格式│_SUB <子过程名> 或 _SUB <窗口名称>,<窗口形状>,[窗口标题文字],[事件],[窗口图标],[窗口类型] ┃ ┃ │ │ [, -top -forcenomin -disminb -maxb -discloseb -nosysmenu -nocap -disaltmv -size] ┃ ┃ ├──┼──────────────────────────────────────────────┨ ┃ │功能│定义类或定义子函数(过程)或定义一个窗口 ┃ ┃ ├──┼──────────────────────────────────────────────┨ ┃ │ │■窗口形状: 窗口位置和大小,格式为,左上宽高均为数值,省略"左上"时窗口居中。 ┃ ┃ 窗 │ │■事件: 关闭窗口时执行的命令,必须是 WinCMD.EXE 支持的命令。 ┃ ┃ 口 │参数│■窗口图标: 窗口标题栏和任务栏的图标,格式为<图标文件名#ID> ┃ ┃ │ │■窗口类型: [-][#][数值],"-"为无标题栏,"#"为无边框窗口,数值1-98为透明度,数值99为隐藏窗口┃ ┃ │ │■状态: -top:顶端;-forcenomin:不被最小化;-disminb:禁止最小化按钮;-maxb:使能最大化按钮 ┃ ┃ │ │ -discloseb:禁止关闭按钮;-nosysmenu:没有系统菜单;-nocap:没有标题栏 ┃ ┃ │ │ -disaltmv:禁止按下ALT用鼠标移动之;-size:可以调整大小。 ┃ ┃_SUB├──┼──────────────────────────────────────────────┨ ┃ │示例│_SUB DoLoop 或 _SUB Windows1,L10T20W360H440,CMD演示,EXEC $使用说明.TXT,%IconFile%#19,20 ┃ ┃ ├──┼──────────────────────────────────────────────┨ ┃ │备注│※子函数名或窗口名的第1个字符不能是"$",命令关键词_SUB与子过程名或窗口名之间必须是1个空格。 ┃ ┃ │ │※名称的第1个字符为&表示是局部名称,线程中不冲突。也可进入线程局部模式达到。 ┃ ┃ │ │※要设置窗口的标题,可以使用 "ENVI @窗口名称=窗口标题" 来设置 ,参照 ENVI 命令的说明。 ┃ ┃ │ │※当"窗口类型"设置了透明度后(数值不为0),则 IMAG 控件无法显示 GIF 动画。 ┃ ┃ │ │※可用"ENVI @窗口名称.Enable=数值"来设置可用状态,数值0为禁用状态;非0为可用状态(不响应)。 ┃ ┃ │ │※可用"ENVI @窗口名称.Visable=数值"来设置可见状态;0为不可见,非0为可见。 ┃ ┃ │ │※没有标题的窗口,可以按住ALT键,按住鼠标左键拖动窗口。 本命令与_END命令必须成对出现 ┃ ┣━━┿━━┿━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┫ ┃ │格式│BROW <保存浏览结果的变量名称>,[[*|&]初始路径],[提示文字],[扩展名称],[附加标志] ┃ ┃ ├──┼──────────────────────────────────────────────┨ ┃ │功能│打开一个文件目录浏览对话窗,让用户可选择某个文件或目录,一般在INIT命令之后或在桌面执行 ┃ ┃ ├──┼──────────────────────────────────────────────┨ ┃ │参数│初始路径: 为浏览窗口默认选中的文件或目录,省略该参数时定位到系统默认的路径;前导符"*"为浏 ┃ ┃ │ │ 览目录对话框,前导符"&"为保存文件对话框,省略前导符为打开文件对话框。 ┃ ┃ │ │提示文字: 省略时,为系统默认的文字提示。 扩展名称: 浏览指定扩展名的文件,省略表示所有文件。┃ ┃BROW│ │附加标志: 浏览目录对话框界面风格设置,默认为"无[编辑框],有[新建文件夹]按钮,不显示文件", ┃ ┃ │ │ 有编辑框标志为0x10,无新建文件夹按钮标志为0x200,显示文件标志为0x4000,若要同时 ┃ ┃ │ │ 设置多种风格,使用这些标志值的"或"运算值或这些标志值之和,三项标志之和为0x4210 ┃ ┃ ├──┼──────────────────────────────────────────────┨ ┃ │示例│BROW Boot_Ini,C:\BOOT.INI,请选择一个文件,INI 或 BROW Tag,*C:\Windows,请选择一个目录 ┃ ┣━━┿━━┿━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┫ ┃ │格式│CALC [#]变量=表达式[#运算结果保留的小数位数,默认尽可能多,最多16位] ┃ ┃ ├──┼──────────────────────────────────────────────┨ ┃ │功能│将表达式的运算结果保存在"变量"中。 数据(包刮浮点数)支持TGMKS后缀。K=1024 S=512 ┃ ┃ ├──┼──────────────────────────────────────────────┨ ┃ │参数│前导"#"表示所有变量按 int64 型数据来处理,省略该前导表示所有变量按double型数据来处理算 ┃ ┃CALC│ │支持的运算符号: 或"|",与"&",加"+",减"-",乘"*",除"/",模"%",幂"^",级别依次优先,和刮号()[]{} ┃ ┃ ├──┼──────────────────────────────────────────────┨ ┃ │示例│CALC #Sum = 128 + 32*22 或CALC Sum = %Datum1% + %Datum2% * 32 ,CALC #Result = 128 * (64 +66)┃ ┣━━┿━━┿━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┫ ┃CALL│格式│CALL <$DLL路径>[,函数名称][,[#]参数1][,[#]参数2][,[#]参数3][,[#]参数4]...[,[#]参数8] ┃ ┃ │ │CALL [前导]<子过程名/窗口名称> [命令行参数] ┃ ┃ │ │CALL [前导]<窗口类名:窗口实名> [命令行参数] //生成类的实例 ┃ ┃ ├──┼──────────────────────────────────────────────┨ ┃ │功能│调用DLL函数 或 调用子过程。 参数如果含有空字符,需要双引号刮起来 ┃ ┃ ├──┼──────────────────────────────────────────────┨ ┃ │参数│"$"表示调用DLL函数。省略函数名,将调用"DllRegisterServer",参数默认为UNICODE字符串 ┃ ┃ │ │"#"前导则表示整数;最多支持8个函数参数。 ┃ ┃ │ │"@"表示调用由_SUB命令定义的窗口,可以在_SUB命令定义的窗口内执行CALL @调用另一个窗口。 ┃ ┃ │ │"@*"表示并行调用由_SUB命令定义的窗口。和父窗口可同时操作。关闭前不能执行下一命令。 ┃ ┃ │ │"@-"表示背景调用由_SUB命令定义的窗口。继续执行下面的命令。但某些费时的操作还是会阻塞。 ┃ ┃ │ │"@+"表示后台调用由_SUB命令定义的窗口。费时的操作也不会阻塞。弃儿窗口程序退出不等其关闭 ┃ ┃ │ │"@~"表示后台调用由_SUB命令定义的窗口。费时的操作也不会阻塞。 ┃ ┃ │ │省略前导"$"表示调用子过程,参数为子过程名称。 ┃ ┃ │ │函数参数格式:子过程和窗口中%0,%1,%2,...%n为子过程名/窗口名称、第一、第二...第n个参数, ┃ ┃ │ │ %#为参数个数。%*为%1起全部。%~0,%~1,%~2,...%~n 就是去掉最外面的双引号,%@为%0起全部。 ┃ ┃ │ │CALL可以省掉,与此同时@也可以省掉。如 CALL @WIN1 a b c 可以 WIN1 a b c ┃ ┃ ├──┼──────────────────────────────────────────────┨ ┃ │示例│调用DLL函数: CALL $SHELL32.DLL,DllInstall,#1,U 子过程: FIND MEM>12,CALL E_S!CALL CMD_SHELL┃ ┣━━┿━━┿━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┫ ┃ │格式│CHEK [-right] [-center] <复选框名称>,<复选框形状>,[复选框标题],[复选框事件],[复选框状态] ┃ ┃ ├──┼──────────────────────────────────────────────┨ ┃CHEK│功能│在窗口内建立一个复选框控件,一般位于_SUB命令和_END命令之间 ┃ ┃ ├──┼──────────────────────────────────────────────┨ ┃ │参数│■复选框形状: 复选框位置和大小,格式为,左上宽高均为数值。 ┃ ┃ │ │■复选框状态: 数字,1或-1为钩选状态,0,2或-2为没有钩选,小于0为灰色不可用状态,±16不可见。┃ ┃ ├──┼──────────────────────────────────────────────┨ ┃ │示例│CHEK Check1,L180T336W100H20,可写挂载,,1 ┃ ┃ ├──┼──────────────────────────────────────────────┨ ┃ │ │※环境变量: %复选框名称% 为复选框标题,设置标题,可用 "ENVI @复选框名称=复选框标题" 来设置。┃ ┃ │ │※可用"ENVI @复选框名称.Check=数值"来设置复选框钩选状态,数值0为未钩选状态;非0为钩选状态。 ┃ ┃ │备注│※可用"ENVI @复选框名称.Enable=数值"来设置复选框可用状态,数值0为禁用状态;非0为可用状态。 ┃ ┃ │ │※可用"ENVI @复选框名称.Visable=数值"来设置可见状态;0为不可见,非0为可见。 ┃ ┣━━┿━━┿━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┫ ┃ │格式│CODE [*nobom] [*transonly] [*]-srcFmt,srcfile,[*]-dstFmt,dstFile ┃ ┃ ├──┼──────────────────────────────────────────────┨ ┃CODE│功能│编码转换 例: CODE -ANSI,src.txt,-UNICODE,dst.txt CODE *,你好,*UNICODE, UNI_NIHAO ┃ ┃ ├──┼──────────────────────────────────────────────┨ ┃ │参数│■*nobom 不输出BOM;*transonly -GBK -BIG5 之间转换,但不转换编码,只翻译; ┃ ┃ │ │■srcFmt:源格式;-dstFmt:目标格式 。有 -UNICODE -UNI -UNICODEB -UNIB -ANSI -UTF8 -UTF7 ┃ ┃ │ │ -GBK -BIG5 -数字 - ,其中-为自然显示格式,数字为标准代码号。-srcFmt前的*表示 ┃ ┃ │ │srcfile是一个待转换的HEX串;*-时srcfile前后的空格都转。-dstFmt前的 *表示转换成HEX 串存入变量┃ ┃ │ │dstFile和PUTF/GETF兼容,无*号则为文件名。有*时-可省略;源格式可以-BOM,根据BOM自动判断 ┃ ┣━━┿━━┿━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┫ ┃COME│格式│COME/NOTE <0|1|ON|OFF> ┃ ┃ ├──┼──────────────────────────────────────────────┨ ┃NOTE│功能│开启/关闭注释 。 参数: 1: 开启(默认)注释; 0: 关闭注释 示例: COME 0 ┃ ┣━━┿━━┿━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┫ ┃ │格式│CMPS [-f] [-m] [-u] 源文件 [,] 压缩文件 ┃ ┃ ├──┼──────────────────────────────────────────────┨ ┃CMPS│功能│压缩,加密文件,可以直接load运行,或作为内置脚本,图标,位图,大小不限,加密文件可运行不可解压 ┃ ┃ ├──┼──────────────────────────────────────────────┨ ┃ │参数│-f 表示保留资源文件的格式标志,可要可不要。-m不加密。-u解压 示例: CMPS A.wcs A.wcz ┃ ┣━━┿━━┿━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┫ ┃ │格式│DEVI [*rescan] [*norescan] [$][,匹配级别默认2[,解压目录] ┃ ┃ │ │DEVI [*rescan] [*norescan] [*nocheck] ┃ ┃ │ │DEVI [*rescan] [*norescan] <含有INF子目录的目录> ┃ ┃ │ │DEVI *rescan <===重新扫描硬件改动 ┃ ┃ ├──┼──────────────────────────────────────────────┨ ┃ │功能│从 CAB 文件或INF文件或指定的文件夹中查找(并安装)驱动程序。 ┃ ┃ ├──┼──────────────────────────────────────────────┨ ┃ │参数│■指定CAB文件路径。CAB前导"$"表示解压缩驱动文件后安装驱动,否则不安装驱动; ┃ ┃ │ │■*nocheck:不检查硬件ID强制安装;*rescan:重新扫描硬件改动(NT6非强制安装时默认),可单用; ┃ ┃DEVI│ │■*norescan:禁止重新扫描硬件改动。 ┃ ┃ ├──┼──────────────────────────────────────────────┨ ┃ │示例│DEVI %SystemRoot%\DRV.CAB 或DEVI MyInf*.INF 或 DEVI %SystemRoot%\Inf\*.INF,DEVI %SystemRoot%┃ ┃ │ │DEVI $VCARD.CAB,,%TEMP% 或 DEVI $.\ACARD.CAB,,%Temp% 或 DEVI $%tp%\VCARD.CAB,,%temp%\DRV3 ┃ ┃ │ │DEVI %SystemRoot%\inf\usb.inf 或 DEVI *nocheck c:\VCARD\NVIDIA\nv_disp.inf ┃ ┃ ├──┼──────────────────────────────────────────────┨ ┃ │ │※驱动文件是CAB时,NT5.x系统中,前导'$'和[释放目录]不能同时设置,但可同时省略。 ┃ ┃ │ │ 省略前导'$'时只解压文件;省略[释放目录]时,将进行驱动匹配解压,INF文件 被解压到 ┃ ┃ │ │ "%WinDir%\INF" 目录,SYS文件解压到 "SYSTEM32\DRIVERS" 目录,其它文件解压到SYSTEM32目录 ┃ ┃ │备注│※驱动文件是CAB压缩包时,NT6.x系统中。有前导'$'[释放目录]默认为%TEMP%下一个临时目录,安装后 ┃ ┃ │ │ 自动删除。有释放目录'$'可省。将CAB压缩文件按目录结构解压到指定目录中,当有前导'$'时表示解 ┃ ┃ │ │ 压后安装目标目录的驱动文件。如果不安装,需要指定*extract。 ┃ ┃ │ │※NT6.x系列WinPE中,用DEVI命令安装"%WinDir%\INF"的INF文件将不进行硬件ID匹配检查(直接安装)。 ┃ ┣━━┿━━┿━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┫ ┃ │格式│DFMT <被格式化的盘符字母>,<磁盘格式FAT,FAT32,NTFS>[,磁盘卷标][,快格磁盘][,单元大小][,压缩] ┃ ┃ │ │DFMT* FORMAT程序参数 ┃ ┃ ├──┼──────────────────────────────────────────────┨ ┃ │功能│调用FORMAT.COM 格式化磁盘 支持格式化硬盘、虚拟硬盘的功能,不支持格式化软盘 静默方式执行┃ ┃ ├──┼──────────────────────────────────────────────┨ ┃DFMT│参数│快格磁盘:数值,非0快速格式化,0默认格式化,省略时快速格式化.压缩:数值,省略或0不压缩,1 NTFS压缩 ┃ ┃ │ │单元大小: 数值,省略或设置为0表示默认,非0值为512*(2^n),即512、1024、2048、...、65536。 ┃ ┃ ├──┼──────────────────────────────────────────────┨ ┃ │示例│DFMT E:,FAT32 或 DFMT R:,NTFS,RamDisk,1 ┃ ┣━━┿━━┿━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┫ ┃ │格式│DISP [W水平分辨率 H垂直分辨率] [B颜色深度] [F刷新率] [T等待毫秒] DISP W800 H600 B32 F70 T5┃ ┃ ├──┼──────────────────────────────────────────────┨ ┃DISP│功能│设置显示参数, 前三组参数可单独使用,如要设置刷新率为75,使用 DISP f75 即可, 都省略则自动设置┃ ┣━━┿━━┿━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┫ ┃ │格式│EDIT[-|+.*=] [-right] [-center] [-rich] [*] ┃ ┃ │ │ <编辑框名称>,<编辑框形状>,[编辑框内容],[编辑框事件],[编辑框类型] ┃ ┃ ├──┼──────────────────────────────────────────────┨ ┃ │功能│建立一个单/多行文本编辑框。 ┃ ┃EDIT├──┼──────────────────────────────────────────────┨ ┃ │参数│-表示水平滚动条;|表示垂直滚动条;+表示无边框;.表示不转换\n否则转换;*表示预解释事件(变量 ┃ ┃ │ │ ) =表示编辑框内容是文件名,无顺序;注意以上参数需紧跟“EDIT”控件命令后,不要有空字符! ┃ ┃ │ │ <编辑框名称>参数前的 * 表示退出代码块或函数时自动回收。-rich:可设置颜色 ┃ ┃ │ │编辑框形状: 编辑框位置和大小,格式为,左上宽高均为数值。 ┃ ┃ │ │编辑框内容: 字串,初始化编辑框时填入的文字内容。\n或原生换行。逗号可用变量(事件同)。 ┃ ┃ │ │编辑框类型: 数字,默认为0,正常编辑框,负号为灰色禁用,1密码输入框,2只读,4多行 ┃ ┃ ├──┼──────────────────────────────────────────────┨ ┃ │示例│EDIT Edit1,L32T244W240H24,C:\Windows,ENVI @Label1=%Edit1%,0x224 ┃ ┃ ├──┼──────────────────────────────────────────────┨ ┃ │ │※要设置编辑框的文字内容,可使用 "ENVI @编辑框名称=文本内容" 来设置,参照 ENVI 命令的说明。 ┃ ┃ │ │※可用"ENVI @编辑框名称.Enable=数值"来设置编辑框的可用状态;0为不可用状态,非0为可用状态。 ┃ ┃ │备注│※可用"ENVI @编辑框名称.ReadOnly=数值"来设置编辑框的只读状态;0为非只读状态,非0为只读状态。┃ ┃ │ │※可用"ENVI @编辑框名称.Visable=数值"来设置可见状态;0为不可见,非0为可见。 ┃ ┣━━┿━━┿━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┫ ┃ │格式│EJEC [C-|U-|X:],[操作标识] 例:EJEC C- 或EJEC U- 或EJEC H: 或EJEC H:,1 或EJEC C-,1 ┃ ┃EJEC├──┼──────────────────────────────────────────────┨ ┃ │功能│弹出或关闭指定的CDROM驱动器,移除指定的USB驱动器。INIT命令"I"参数将本功能安装到托盘图标菜单中┃ ┃ ├──┼──────────────────────────────────────────────┨ ┃ │参数│C-光驱,U- USB磁盘,X:指定盘符的光驱或USB磁盘 操作标识:弹出或关闭,省略默认为0,弹出;1关闭 ┃ ┣━━┿━━┿━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┫ ┃ │格式│ENVI[.$%~~.*=] [&[&]][$][#][名称][=值] ┃ ┃ │ │ENVI[.$%~~.*=] &::[名称][=值] //全局PE变量 ┃ ┃ ├──┼──────────────────────────────────────────────┨ ┃ENVI│功能│设置或清除环境变量。指定环境变量名称和值 ┃ ┃ ├──┼──────────────────────────────────────────────┨ ┃ │参数│"."表示\n转换为换行,如果是控件为禁止换行。"$"表示值按16进制转换为对应字符,8个一组或空格分 ┃ ┃ │ │隔;"%"按10进制转换,空格分隔;均为UNICODE。"~"表示变量再解释一次;"~~"再2次。"*"多轮次"$" ┃ ┃ │ │"%"时,[*重复因子]数据。=按空格分隔的词重复,[*重复因子] 词。 ┃ ┃ │ │前导"$"表示设置系统级环境变量,"#"表示设置用户级环境变量;均变更广播所有程序(5秒超时)。 ┃ ┃ │ │前导"&"表示设置函数或窗口PE变量。 ┃ ┃ │ │"&&"定义功能,只本级变量;本级没有就加.否则仅设置本程序内部用的环境变量.同时屏蔽/保护上级变量 ┃ ┃ │ │环境变量如果没有等号=,则删除变量。 如"ENVI ABC" ┃ ┃ │ │PE变量如果没有等号=,则仅清除变量内容。 如"ENVI &ABC" ┃ ┃ │ │如果不指定值,则环境变量设为空值。如"ENVI ABC=" "ENVI &ABC=" ┃ ┃ ├──┼──────────────────────────────────────────────┨ ┃ │示例│ENVI TEMP=%SystemDrive%\TEMP 或 ENVI &&ABC=123 或 删除ABC:ENVI &ABC 或 ENVI$ NL=0d 0a ┃ ┃ │ │或 ENVI$ DATA=*1M 30 0d 0a 或 ENVI= DATA=*1K 0x00 ┃ ┃ ├──┼──────────────────────────────────────────────┨ ┃ │备注│※如果使用"EXEC"执行的程序,会自动继承本程序的环境变量, 窗口名和控件名也可以带&。 ┃ ┃ │ │※ENVI EXPORTLOCAL=1 可以允许自动继承本程序的PE变量。 ┃ ┃ │ │※ENVI EXPORTLOCAL=0 重新禁止自动继承本程序的PE变量。(默认) ┃ ┃ │ │※ENVI EXPORTLOCAL=&1 可以允许自动继承本程序的PE变量。只对本级及以后有效,线程中用到。 ┃ ┃ │ │※ENVI EXPORTLOCAL=&0 重新禁止自动继承本程序的PE变量。(默认) 只对本级及以后有效,线程用。 ┃ ┃ │ │※ENVI &FORCELOCAL=1 强制所有变量为PE变量。能最简单变多线程或多任务(并行窗口)。 ┃ ┃ │ │※ENVI &FORCELOCAL=0 取消上面的强制。 ┃ ┃ │ │※ENVI &&&EnviMode=0 兼容模式,默认。空变量不解释。并自动多轮次解释。 ┃ ┃ │ │※ENVI &&&EnviMode=1 标准模式。空变量解释为空。不自动多轮次解释。但对ENVI=前的变量名多轮次 ┃ ┃ │ │※当参数为空或仅有参数"$"时可以起到刷新环境变量的作用。支持前后的空字符。注意多于的的空字符 ┃ ┃ │ │※PE变量有遮盖效应,子级变量遮盖同名上级变量。多线程中必须用PE变量.以保证互不干涉。 ┃ ┃ │ │※PE变量的读取为%&变量名%,子级优先。函数返回,该级PE变量自动释放。PE变量可直接用SET。┃ ┃ │ │※"~"表示变量再解释一次,即解释后的数据作为变量名,返回其值。"~."解释后的数据作为函数参数, ┃ ┃ │ │ 返回其值。"~*"表示符合函数参数格式按"~.",否则按"~"解释。"~~"则如此两次。 ┃ ┃ │ ├──────────────────────────────────────────────┨ ┃ │ │刷新桌面和我的电脑窗口: ENVI @@DeskTopFresh=1 只新刷面:ENVI @@DeskTopFresh=2 ┃ ┃ │ ├──────────────────────────────────────────────┨ ┃ │ │开启托盘菜单:ENVI @@TaskIcoMenu=1 关闭:ENVI @@TaskIcoMenu=0 开/关切换:ENVI @@TaskIcoMenu=2┃ ┃ │ │查询文件版本: ENVI ?变量名=FVER,文件名 ┃ ┣━━┿━━┿━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┫ ┃ │格式│EXEC [--runs] [=][!][*][^][_][@][$][&][参数] ┃ ┃ ├──┼──────────────────────────────────────────────┨ ┃ │功能│执行 EXE 、BAT、CMD 程序。 例: EXEC =!CMD.EXE /C "DEL /Q /F %TEMP%" ┃ ┃ ├──┼──────────────────────────────────────────────┨ ┃ │参数│指定程序路径和参数(可同时用,不分先后顺序),有冲突时,最后的有效,前导和文件名间可加空格分断 ┃ ┃ │ │前导"="表示等待执行完成;前导"!"或"*"表示以隐藏方式执行;前导"^"或前导"_"表示最小方式执行; ┃ ┃ │ │前导"&"表示最大方式执行;前导"$"表示文档模式;如果要带参数,文件名必须用"刮起来 ┃ ┃ │ │※前导"@"表示在后台桌面(WinLogon)执行,彻底隐藏,无法与用户交互,可用于注册,如: ┃ ┃EXEC│ │ "EXEC @PECMD.EXE CALL $SHELL32.DLL,DllInstall,#1,U"; ┃ ┃ │ │※--runs表示写入到注册表自动运行(建议用RUNS命令),由Shell登录后运行。如果使用前导"=",将在 ┃ ┃ │ │ "HKLM\Software\Microsoft\Windows\CurrentVersion\Run"的键下,否则在 ┃ ┃ │ │ "HKCR\Software\Microsoft\Windows\CurrentVersion\Run"的键下; ┃ ┣━━┿━━┿━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┫ ┃EXIT│格式│EXIT [脚本类型] ┃ ┃ ├──┼──────────────────────────────────────────────┨ ┃ │功能│退出当前的CALL命令调用的子过程,或退出LOAD命令调用的配置文件过程,或退出LOOP调用的循环命令。┃ ┃ ├──┼──────────────────────────────────────────────┨ ┃ │示例│IFEX $%Val%=10,EXIT Loop 或 FIND $%Cancel%=YES,EXIT File!EXIT _Sub ┃ ┃ ├──┼──────────────────────────────────────────────┨ ┃ │备注│※示例1表示Val为10时退出当前循环;示例2表示变量Cancel为YES时退出当前文件,否则退出当前过程。┃ ┣━━┿━━┿━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┫ ┃FBWF│格式│FBWF [P可用内存百分数] [L最小值MB] [H最大值MB] 例: FBWF P20 L32 H64 ┃ ┃ ├──┼──────────────────────────────────────────────┨ ┃ │功能│设置FBWF缓存,三个参数都可单独用,如用FBWF L64时,将不理会可用内存大小,强制设置64M的FBWF ┃ ┣━━┿━━┿━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┫ ┃FDIR│格式│FDIR [--full|--fullfile] <用于保存目录名的变量名><=><文件名> ┃ ┃ ├──┼──────────────────────────────────────────────┨ ┃ │功能│返回指定"文件名"所在的目录名(最后无"\") --full返回绝对目录,\结尾则为本身,--fullfile绝对路径┃ ┃ ├──┼──────────────────────────────────────────────┨ ┃ │示例│FDIR fPath=C:\Windows\System32\calc.exe 或 FDIR aPath=%CurDir%\Path1\Path2\FileName ┃ ┣━━┿━━┿━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┫ ┃FDRV│格式│FDRV <用于保存分区盘符的变量名><=>[文件目录名] ┃ ┃ │ │FDRV <变量名>= //返回系统所有盘符,返回值是 C:|D:|E:|F:|.... 的形式。 ┃ ┃ │ │FDRV <变量名>=*: //返回系统所有盘符,返回值是 C: D: E: F: .... 的形式。 ┃ ┃ │ │FDRV <变量名>=* //返回系统所有盘符,返回值是 C D E F .... 的形式。 ┃ ┃ ├──┼──────────────────────────────────────────────┨ ┃ │功能│返回指定"文件目录名"所在的分区盘符(以":"结束,最后无"\")或系统所有盘符。 ┃ ┃ ├──┼──────────────────────────────────────────────┨ ┃ │示例│FDRV fDrive=C:\Windows\System32\calc.exe 结果是"C:" 或 FDRV AllDrive= 是系统所有盘符的列表┃ ┃ ├──┼──────────────────────────────────────────────┨ ┃ │备注│※当文件名是相对路径时,返值结果是 PECMD.EXE 的工作目录或配置文件的工作目录所在的分区盘符; ┃ ┃ │ │※当省略"文件目录名"时返回系统所有盘符,返回值是 C:|D:|E:|F:|.... 的形式; ┃ ┣━━┿━━┿━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┫ ┃ │格式│FILE [--simpleprogress|--progress]<文件路径>[<操作符>[目标路径] ┃ ┃ │ │FILE 文件路径>>不带父目录的新名称 //模仿CMD的 Ren,只改名,不改所在目录┃ ┃ ├──┼──────────────────────────────────────────────┨ ┃ │功能│删除、复制、移动或重命名文件目录。 ┃ ┃ ├──┼──────────────────────────────────────────────┨ ┃ │ │■--simpleprogress显示进度条,--progress显示进度条和文件名。 ┃ ┃ │参数│■文件路径: 被操作的源文件目录名,删除、复制和移动文件目录时支持DOS通配符"?"或"*"; ┃ ┃ │ │■操作符号: 用"->"、"=>"、">>"分别表示移动、复制、重命名文件目录,省略操作符号表示删除操作。┃ ┃FILE│ │ ">>"重命名时,文件路径、新名称不要带DOS通配符,且都只有一个,新名称必须不 ┃ ┃ │ │ 存在,目录不变。其实"->"也有改名功能,而且更强大。 ┃ ┃ │ │■目标名称: 将源文件目录移动、复制到的目标路径名,不能含DOS通配符,要用确定的文件目录名。 ┃ ┃ ├──┼──────────────────────────────────────────────┨ ┃ │示例│FILE %SystemRoot%\INF\*.INF=>%TEMP%或FILE pphk->pphk22或FILE top.bmp->pphk22\topfile.bmp ┃ ┃ ├──┼──────────────────────────────────────────────┨ ┃ │备注│※除重命名,源和目标可以是“;”分隔的多个。多目标时,目标和源一样多,对应着操作;目标为目标 ┃ ┃ │ │ 本名,不能是所在目录。如:FILE x.log;x3.log=>FOLDER\x11.log;HELP\x33.log ┃ ┣━━┿━━┿━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┫ ┃ │格式│FIND[|] <条件>,[命令1][!命令2] ┃ ┃ │ │FIND 查询条件=?,变量名 //查询 ┃ ┃ ├──┼──────────────────────────────────────────────┨ ┃ │功能│依据条件表达式是否成立,成立则执行命令群组1,不成立则执行命令群组2。 ┃ ┃ ├──┼──────────────────────────────────────────────┨ ┃ │参数│■条件 对[内存总数]或[磁盘总空间]或[内存进程]或[按键]的判断。 ┃ ┃ │ │※内存总数 MEM<比较符>数值。单位M,进1法。 ┃ ┃ │ │※内存总数 MEMB<比较符>数值。单位字节 ┃ ┃ │ │※磁盘总空间 R:\<比较符>数值,R:表示盘符。 ┃ ┃ │ │※按键 KEY<比较符>[#]数值。 ┃ ┃FIND│ │※内存进程 内存进程名。 ┃ ┃ │ │※字符串比较 $左部<比较符>右部,不区分大小写的。左部、右部支持变量;含有比较符是需要如此 ┃ ┃ │ │※比较符 比较操作符"<"、">"、"="、"!"、">="、 "<="、"!="、"<>"分别表示:小于、大于、等 ┃ ┃ │ │ 于、不等于、大于等于、小于等于、不等于、不等于。 ┃ ┃ │ │※数值 比较的数值,磁盘单位是MB,按键数值是按键代码。可带TGMKS ┃ ┃ │ │※命令群组 要执行的一条或多条命令,多条命令之间用"|"分开。命令群组之间用分隔符"!"分开。 ┃ ┃ │ │※FIND| 群组方式,表示检测后面参数中的"|"字符。默认为不检测“|”,以免出错。 ┃ ┃ │ │※查询条件 MEM=? MEMB=? R:\=? KEY=?数值 ┃ ┃ ├──┼──────────────────────────────────────────────┨ ┃ │示例│FIND MEM<128,SHEL %SystemRoot%\SYSTEM32\XPLORER2.EXE!SHELL %SystemRoot%\EXPLORER.EXE ┃ ┃ │ │FIND 条件1,!! FIND 条件2,! FIND 条件3, 做某事1! 做某事2 //嵌套句式,可和IFEX混合 ┃ ┃ │ │FIND $%m%=1,!! find $%n%=1, mess aaa!mess bbb //嵌套范例 ┃ ┃ ├──┼──────────────────────────────────────────────┨ ┃ │备注│嵌套FIND或IFEX命令时,被嵌套的命令中使用"!"群组分隔符. 逗号“,”后紧接!!,表示没有ELSE部分 ┃ ┣━━┿━━┿━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┫ ┃ │格式│FONT <字体文件含路径>[,起始分区] ┃ ┃FONT├──┼──────────────────────────────────────────────┨ ┃ │功能│注册字体或外挂字体,例:FONT %CurDrv%\外置程序\FONT 或 FONT \WINDOWS\fonts 或 FONT \WINDOWS,C:┃ ┃ ├──┼──────────────────────────────────────────────┨ ┃ │备注│※命令第1个字符是"\"时,将从指定的起始分区开始搜索机子所有分区 Windows\Fonts目录下的字体,并┃ ┃ │ │ 安装注册,定义起始分区可避免搜索机子中存在的软驱,省略起始分区将搜索机子所有分区(含软驱)。 ┃ ┣━━┿━━┿━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┫ ┃ │格式│FORX [/S] [/O:N] [/O:-N] [@|$][[!]\]<文件>,<变量>,[数值],<命令> [参数表] ┃ ┃ │ │FORX * 变量表,<变量>,<命令> [参数表] ┃ ┃ │ │FORX *NL 多行变量名,<变量>,<命令> [参数表] ┃ ┃ ├──┼──────────────────────────────────────────────┨ ┃ │功能│对匹配的文件目录进行对应的命令操作,本命令的功能类似CMD.EXE的for命令。 ┃ ┃ ├──┼──────────────────────────────────────────────┨ ┃ │参数│ /S搜寻子目录; /O:N 按名字排序; /O:-N 反序。 ┃ ┃ │ │■文件: 指定文件目录名,可带有通配符。 ┃ ┃ │ │■变量: 指定变量名,指代找到文件,该变量不要重名。参数表中可以多处引用。 ┃ ┃ │ │■数值: 对匹配的文件目录执行相应次数的命令操作,<=0表示对所有存在的文件执行命令操作。 ┃ ┃ │ │■命令: WinCMD.EXE合法有效的命令,命令后的参数格式和个数由该命令而定。 ┃ ┃ │ │■多行变量名: 存储多行信息的变量名,注意只是名字没有%.每次返回一行。 ┃ ┃ ├──┼──────────────────────────────────────────────┨ ┃FORX│示例│◆FORX %CurDir%\Path1\*.DLL,AnyDLL,0,CALL $%AnyDLL% ┃ ┃ │ │◆FORX \auto*.INF,AutoRunVirus,0,FILE %AutoRunVirus% ┃ ┃ │ │◆FORX !\Tools\Tools.INI,MyIni,1,LOAD %MyIni% ┃ ┃ │ │◆FORX /S /O:-N C:\windows\*.INI,f,0,MESS %f% @#OK ┃ ┃ ├──┼──────────────────────────────────────────────┨ ┃ │备注│※该命令可以搜索到带有属性的文件目录,如隐藏属性的文件目录。 ┃ ┃ │ │※前导"\"表示搜索所有分区。"!"表示对所有分区进行逆序搜索。 ┃ ┃ │ │※前导"@"表示仅搜索目录,"$"搜索目录和文件,省略该前导表示仅搜索文件。 ┃ ┃ │ │※前导"*"表示变量表模式,以空字符分隔。 ┃ ┃ │ │※示例1,表示注册 %CurDir%\Path1\ 目录中的所有 DLL。 ┃ ┃ │ │※示例2,表示删除所有分区根目录的 auto*.INF 文件。 ┃ ┃ │ │※示例3,表示逆序搜索所有分区Tools目录下Tools.INI,并把搜索的第1个Tools.INI用LOAD命令加载。 ┃ ┣━━┿━━┿━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┫ ┃ │格式│GETF [-g=列数] <文件名称>,<位置长度>,<变量名称> ┃ ┃ │ │GETF -find <大文件名称>,[位置[#大长度[#子长度[#子偏移]]]],<变量名称>,<目标文件|*目标变量名> ┃ ┃ ├──┼──────────────────────────────────────────────┨ ┃ │功能│以 BINARY 形式读取指定文件的数据,并将数据赋值给指定的变量名。 ┃ ┃ ├──┼──────────────────────────────────────────────┨ ┃ │参数│■-g=列数:在多少列之后的位置自动插入换行 ┃ ┃ │ │■文件名称: 合法的文件名,支持环境变量解释;可以使物理磁盘如\\.\PhysicalDrive0,逻辑磁盘如 ┃ ┃ │ │ C:,分区设备如\Device\Harddisk0\Partition1 ┃ ┃ │ │■位置长度: 数值,由要读取的起始位置和要读取的长度(字节)组成,之间用"#"分隔,如 1023#32; ┃ ┃ │ │ 可带TGMKS后缀。K=1024, S=512。长度为*这读到文件尾。 ┃ ┃ │ │■-find: 2进制查找目标在大文件中的起始位置。位置为开始,大长度为限制。子长度为目标长度限制 ┃ ┃ │ │ 位置、大长度、子长度、子偏移 空缺或<=0忽略 ┃ ┃GETF├──┼──────────────────────────────────────────────┨ ┃ │示例│GETF %CurDir%\Memu.LST,0x400#0x10,FileData 或 GETF %CurDir%\Memu.LST,-1,FileLength ┃ ┃ ├──┼──────────────────────────────────────────────┨ ┃ │备注│※GETF命令读取文件的起始位置是相对于文件基址的,如要读取文件的第1个字节,则起始位置为 0x00;┃ ┃ │ │※命令的结果以16进制数值表示,数值之间由空格分隔,省略起始位置或省略读取长度均取其默认值1; ┃ ┃ │ │※起始位置小于0或超过文件长度时,命令的结果为10进制表示的文件长度,出错结果为0xFFFFFFFF; ┃ ┃ │ │※数据格式: 数值之间用空格分隔,如 0x23 0xAD 0x1C 0x80。 ┃ ┣━━┿━━┿━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┫ ┃ │格式│GROU [-right] [-center] [*] <组合面板名称>,<组合面板形状>,[组合面板标题],[状态] ┃ ┃ ├──┼──────────────────────────────────────────────┨ ┃ │功能│在_SUB定义的窗口内建立组合面板,用于说明组合面板内控件的功能和作用。 ┃ ┃ ├──┼──────────────────────────────────────────────┨ ┃ │参数│ <组合面板名称>前的 * 表示退出代码块或函数时自动回收。 ┃ ┃ │ │■组合面板名称: 字串,组合面板名称应是唯一的,不能与其它控件名称或环境变量名称同名。 ┃ ┃ │ │■组合面板形状: 组合面板的位置和大小,格式为,左上宽高均为数值。 ┃ ┃GROU│ │■组合面板标题: 字串,用以描述组合面板的作用或功能。 ┃ ┃ │ │■组合面板状态: ±16不可见。 ┃ ┃ ├──┼──────────────────────────────────────────────┨ ┃ │示例│GROU Group1,L8T4W336H400,注册WimShExt.DLL ┃ ┃ ├──┼──────────────────────────────────────────────┨ ┃ │备注│※要设置组合面板标题,可以使用"ENVI @组合面板名称=组合面板标题"来设置 ,参照ENVI命令的说明。┃ ┃ │ │※可用"ENVI @组合面板名称.Visable=数值"来设置编辑框的可见状态;0为不可见,非0为可见。 ┃ ┣━━┿━━┿━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┫ ┃HIDE│格式│HIDE 隐藏PECMD.EXE进程,以防被误杀,SHEL命令必须在HOTK和HIDE命令之后,加载SHELL时才能隐藏┃ ┣━━┿━━┿━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┫ ┃ │格式│HIVE [-super_r] [-quick] [*] <子项名>,[文件名] ┃ ┃ ├──┼──────────────────────────────────────────────┨ ┃ │功能│加载或卸载注册表配置文件,相当于 REG.EXE 的 LOAD 命令和 UNLOAD 命令的功能。 ┃ ┃ ├──┼──────────────────────────────────────────────┨ ┃ │参数│■-super_r 强制设置子孙项权限。 -quick不添加权限。 ┃ ┃HIVE│ │■子项名 指定加载或卸载注册表配置文件时在 HKEY_LOCAL_MACHINE 下的子项名称。*为导出到文件。 ┃ ┃ │ │■文件名 被加载的注册表配置文件名,省略该参数时为卸载指定的子项名称。 ┃ ┃ ├──┼──────────────────────────────────────────────┨ ┃ │示例│HIVE PE,F:\BOOT\PE 或 HIVE PE 或 HIVE PE,%CurDrv%\BOOT\PE ┃ ┃ ├──┼──────────────────────────────────────────────┨ ┃ │备注│※HIVE命令加载注册表配置单元后,PECMD将设置Everyone获得完全控制权限,以便用户读取修改。 ┃ ┣━━┿━━┿━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┫ ┃ │格式│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 ┃ ┣━━┿━━┿━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┫ ┃ │格式│IFEX[|] <条件>,[命令群组1][!命令群组2] ┃ ┃ │ │IFEX 查询条件=?,变量名 //查询 ┃ ┃ ├──┼──────────────────────────────────────────────┨ ┃ │功能│依据条件表达式是否成立,成立则执行命令群组1,不成立则执行命令群组2。 ┃ ┃ ├──┼──────────────────────────────────────────────┨ ┃ │参数│※条件 对[可用内存]或[磁盘可用空间]或[文件目录]或[按键]的判断。 ┃ ┃ │ │※可用内存 MEM<比较符>数值。单位M,进1法。 ┃ ┃ │ │※可用内存 MEMB<比较符>数值。单位字节 ┃ ┃ │ │※磁盘可用空间 R:\<比较符>数值,R:表示盘符。 ┃ ┃ │ │※按键 KEY<比较符>数值。 ┃ ┃ │ │※文件目录 文件目录名,可以使用通配符。\结尾则必须为目录。 ┃ ┃ │ │※数值比较 $左部<比较符>右部。带符号浮点数。 ┃ ┃IFEX│ │※比较符 比较操作符"<"、">"、"="、"!"、">="、 "<="、"!="、"<>"分别表示:小于、大于、 ┃ ┃ │ │ 等于、不等于、大于等于、小于等于、不等于、不等于。 ┃ ┃ │ │※数值 比较的数值支持整数与浮点数,磁盘单位是MB,按键数值是按键代码。可带TGMKS ┃ ┃ │ │※命令群组 要执行的一条或多条命令,多条命令之间用"|"分开。命令群组之间用分隔符"!"分开。┃ ┃ │ │※IFEX| 群组方式,表示检测后面参数中的“|”字符。默认不检测“|”,以免出错。 ┃ ┃ │ │※查询条件 MEM=? MEMB=? R:\=? KEY=?数值 ┃ ┃ ├──┼──────────────────────────────────────────────┨ ┃ │示例│IFEX KEY=17,TEAM TEXT 搜索系统字体…| FONT \WINDOWS!TEXT 安装外挂字体 ┃ ┃ │ │IFEX 条件1,!! IFEX 条件2,! IFEX 条件3, 做某事1! 做某事2 //嵌套,可和FIND混合 ┃ ┃ ├──┼──────────────────────────────────────────────┨ ┃ │备注│嵌套FIND或IFEX时,被嵌套的命令中使用"!"群组分隔符,不能引起混淆.逗号后紧接!!,表示没有ELSE部分┃ ┣━━┿━━┿━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┫ ┃ │格式│INIT [选项列表][,等待时间][,USB起始盘符] ┃ ┃ ├──┼──────────────────────────────────────────────┨ ┃ │功能│执行最基本初始化,并建立以下目录: Favorites,Programs,Desktop,QuickLaunch,StartMenu,Startup ┃ ┃ │ │Personal我的文档,SendTo, 行INIT命令后,再执行SHEL命令加载指定的SHELL即可启动一个最小化的WinPE┃ ┃ ├──┼──────────────────────────────────────────────┨ ┃ │参数│■选项列表: 支持4个选项,由"C"、"I"、"K"、"U"组成,可不定项使用,不分先后顺序。 ┃ ┃ │ │◎选项"C": 表示将光驱的盘符写入以CDROM开头的环境变量;启动后须用无参数的ENVI命令刷新才生效 ┃ ┃ │ │◎选项"I": 表示将PECMD的部分功能安装到托盘图标的菜单中;启动后托盘出现一个图标菜单 ┃ ┃ │ │◎选项"K": 执行INIT命令立即安装低级键盘钩子,接管Ctrl+Alt+Del呼出任务管理器;不建议带选项"K"┃ ┃INIT│ │◎选项"U": 表示检测USB移动硬盘的插入,自动分配盘符,提供移动硬盘的即插即用功能。 ┃ ┃ │ │等待时间: 表示移动硬盘插入到就绪要等待的时间(毫秒),省略时,将使用内定的默认值(3000) ┃ ┃ │ │USB起始盘符: USB起始盘符。默认为U . 选项"U"省略时,"等待时间"参数也应省略 ┃ ┃ ├──┼──────────────────────────────────────────────┨ ┃ │示例│INIT 或 INIT C 或 INIT CU 或 INIT CIK 或 INIT CIKU 或 INIT IU,3000 ┃ ┣━━┿━━┿━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┫ ┃ │格式│ITEM [-right] [-left] [*] <按钮名称>,<按钮形状>,[按钮标题文字],[按钮事件],[按钮图标],[状态] ┃ ┃ ├──┼──────────────────────────────────────────────┨ ┃ │功能│在_SUB定义的窗口内建立一个按钮。 ┃ ┃ ├──┼──────────────────────────────────────────────┨ ┃ │参数│■按钮形状: 按钮位置和大小,格式为,左上宽高均为数值。 ┃ ┃ITEM│ │■按钮事件: 点击该按钮时执行的命令,必须是 WinCMD 支持的有效命令。 ┃ ┃ │ │■按钮图标: 在按钮上显示的图标,格式为<图标文件名#ID>,图标大小 = 按钮高度 - 6。 ┃ ┃ │ │■按钮状态: 数字,默认为0表示可用状态按钮,负号为灰色不可用状态按钮。16不可见。4为多行 ┃ ┃ ├──┼──────────────────────────────────────────────┨ ┃ │示例│ITEM Button3,L32T108W300H54,资源管理器,EXEC explorer.exe,%SystemRoot%\explorer.exe ┃ ┃ ├──┼──────────────────────────────────────────────┨ ┃ │备注│※要设置按钮上的文本,可使用 "ENVI @按钮名称=按钮文本" 来设置,参照 ENVI 命令的说明。 ┃ ┃ │ │※可用"ENVI @按钮名称.Enable=数值"来设置编辑框的可用状态;0为不可用状态,非0为可用状态。 ┃ ┃ │ │※可用"ENVI @按钮名称.Visable=数值"来设置可见状态;0为不可见,非0为可见。 ┃ ┣━━┿━━┿━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┫ ┃ │格式│KILL [*force] [*explorer] <进程名称|*pid|\[窗口标题]|@[窗口名称]|@@窗口ID> ┃ ┃ ├──┼──────────────────────────────────────────────┨ ┃ │功能│强制终止指定的进程。 *force强制杀除进程 , *explorer 表示explorer.exe 不自动重启 ┃ ┃ ├──┼──────────────────────────────────────────────┨ ┃KILL│参数│进程名称,即 EXE 文件名(不包含路径)。pid为进程PID。省略窗口标题/窗口名称为本窗口。 ┃ ┃ ├──┼──────────────────────────────────────────────┨ ┃ │示例│KILL WinLogon 或 KILL \%ABC% 或 KILL @ABC ┃ ┣━━┿━━┿━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┫ ┃ │格式│LABE[+.*] [-right] [-center] [-left] [-trans] ┃ ┃ │ │ <标签名称>,<标签形状>,[标签文字],[执行命令],[颜色集合],[字体大小] ┃ ┃ ├──┼──────────────────────────────────────────────┨ ┃ │功能│在_SUB定义的窗口内建立一条静态文字标签。 ┃ ┃ ├──┼──────────────────────────────────────────────┨ ┃ │参数│■+表示带边框,.表示不转换“\n”换行符, ┃ ┃ │ │ *表示预解释事件(变量)注意以上参数必须紧跟LABE命令后,不要有空格!也没有顺序之分。 ┃ ┃ │ │ [-right]文本右对齐,[-center]文本居中,[-left]文本左对齐,[-trans]透明标签。 ┃ ┃ │ │■标签名称: 字串,标签名称应是唯一的,不能与其它控件名称或环境变量名称同名。 ┃ ┃ │ │■标签形状: 标签的位置和大小,格式为,左上宽高均为数值。 ┃ ┃ │ │■标签文字: 字符串,要标签显示的文字,支持多行显示,文字行间用"\n"表示断行。 ┃ ┃ │ │■执行命令: WinCMD有效的命令,如 EXEC $%CurDir%\a.TXT 或 EXEC $http://mdyblog.blog.163.com。┃ ┃ │ │■颜色集合: 数值,依次由正常文字颜色、正常背景颜色、活动文字颜色和活动背景颜色四种颜色组成,┃ ┃ │ │ 四个数值之间由'#'字符分隔,格式为"数值1#数值2#数值3#数值4",支持16进制数值, ┃ ┃ │ │ 如 0x00FFFF#0xFF0000#0x0000FF#0000,任一颜色值省略都采用系统默认颜色值。 ┃ ┃ │ │ 如果第二组颜色中某一#没有,则同前一组对应颜色;如只有0/1个#,两组颜色相同。 ┃ ┃ │ │■字体大小: 数值,支持16进制数值,如0x0A,省略该参数时为系统默认的字体大小。-16 不可见。 ┃ ┃LABE├──┼──────────────────────────────────────────────┨ ┃ │示例│LABE Label1,L20T280W128H48,请点击"打开"按钮以浏览文件。 ┃ ┃ │ │LABE Label2,L20T24W80H20,帮助说明,EXEC %CurDir%\ReadME.EXE,0xFF0000,12 ┃ ┃ │ │LABE Label3,L20T48W80H20,DSystem,EXEC $http://mdyblog.blog.163.com,0x000000##0x0000FF,14 ┃ ┃ ├──┼──────────────────────────────────────────────┨ ┃ │备注│※当设置了"背景颜色"或"执行命令"时,"标签文字"会居中显示,居中显示的文字无法分行显示。 ┃ ┃ │ │※要设置标签上文字内容,可以使用 "ENVI @标签名称=标签文字" 来设置 ,参照 ENVI 命令的说明。 ┃ ┃ │ │※"执行命令"若是通过EXEC命令执行网页地址时,可以包含网址字符串"//"。 ┃ ┃ │ │ 当"执行命令"不省略时,鼠标移到其上会变成手形鼠标。 ┃ ┃ │ │※"标签文字"和"执行命令"均不能含有','字符 ┃ ┃ │ │※可用"ENVI @标签名称.Visable=数值"来设置可见状态;0为不可见,非0为可见。 ┃ ┣━━┿━━┿━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┫ ┃ │格式│LINK [_|^|!]<生成快捷方式路径><,目标文件或目录路径>[,运行参数][,图标路径#图标索引][,快捷键] ┃ ┃ ├──┼──────────────────────────────────────────────┨ ┃LINK│功能│创建快捷方式。 “_”最小化方式启动程序,“!”以隐藏方式启动程序,“^”以最大化方式启动程序┃ ┃ ├──┼──────────────────────────────────────────────┨ ┃ │参数│目标路径: 如果目标不存在,将不会创建快捷方式 图标路径: 快捷方式图标的路径 ┃ ┃ │ │图标索引: 快捷方式图标在文件资源中序号,0为第1个图标,不填默认.快捷键,此时图标索引前的#,不可省┃ ┃ ├──┼──────────────────────────────────────────────┨ ┃ │示例│LINK !%Desktop%\宽带,RASPPPOE.CMD,,RASDIAL.DLL,19 LINK %Programs%\记事本,%WS%\NOTEPAD.EXE ┃ ┣━━┿━━┿━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┫ ┃ │格式│LIST <下拉列表框名称>,<形状>,<下拉列表框内容>,[下拉列表框事件],[默认选中的条目],[状态] ┃ ┃ ├──┼──────────────────────────────────────────────┨ ┃ │功能│在_SUB定义的窗口内建立一个下拉列表框。 ┃ ┃ ├──┼──────────────────────────────────────────────┨ ┃ │参数│下拉列表框形状: 下拉列表框形状位置和大小,格式为,左上宽高均为数值。 ┃ ┃ │ │下拉列表框内容: 框内可供选择的条目,条目与条目之间用"|"隔开。条目第一个字符不能是 "+" "-" ":"┃ ┃ │ │下拉列表框事件: 下拉列表框内被选择条目发生变化时执行的命令,必须是 PECMD 支持的有效命令。 ┃ ┃ │ │状态: 数字,负号为灰色禁用。0x4可编辑列表,0x200简单列表。0x10不可见。0x100自动垂直滚动条 ┃ ┃ │ │ 。0x400自动排序。0x800大写。0x1000小写。 ┃ ┃ ├──┼──────────────────────────────────────────────┨ ┃LIST│示例│LIST List1,L200T360W128H32,EXPLORER|XPLORER2|CMD,ENVI @Label1=%List1%,EXPLORER ┃ ┃ ├──┼──────────────────────────────────────────────┨ ┃ │备注│※可用"ENVI @下拉列表框名称.Enable=数值"来设置下拉列表框可用状态;0为禁用状态非0为可用状态。┃ ┃ │ │※可用"ENVI @下拉列表框名称.Visable=数值"来设置可见状态;0为不可见,非0为可见。 ┃ ┣━━┿━━┿━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┫ ┃ │格式│LOAD <文件名含路径,支持环境变量> ┃ ┃ ├──┼──────────────────────────────────────────────┨ ┃ │功能│按顺序逐条运行配置文件INI中的命令. 例: LOAD \外置\PECMD.INI 或 LOAD "X:\Program Files\a.ini"┃ ┃LOAD├──┼──────────────────────────────────────────────┨ ┃ │备注│如果文件路径第1个字符是"\",则搜索所有磁盘指定目录中的文件,如"LOAD \MyWinPE\PECMD.INI" ┃ ┃ │ │文件路径或某一参数如果含有空字符,需要双引号刮起来。 ┃ ┣━━┿━━┿━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┫ ┃LOGO│格式│LOGO [图片文件名(含路径)][,背景颜色] 例: LOGO %SystemRoot%\XCMD.JPG ┃ ┃ ├──┼──────────────────────────────────────────────┨ ┃ │功能│设置或关闭登录画面。支持BMP/JPG/PNG/GIF等各式(需要GDI+支持) 无参数,则关闭启动画面(渐隐淡出)┃ ┃ ├──┼──────────────────────────────────────────────┨ ┃ │参数│优先显示LOGO图,LOGO图无效,使用背景颜色,背景色无效将使用注册表内定的背景颜色 ┃ ┃ │ │配置文件结束之前,必须调用一次不带参数的"LOGO"命令,以关闭启动画面 ┃ ┣━━┿━━┿━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┫ ┃ │格式│LOGS *[文件路径] ┃ ┃LOGS├──┼──────────────────────────────────────────────┨ ┃ │功能│启用日志以便记录每条命令的执行结果,帮助用户验证配置文件的正确性。LOGS *是刷到磁盘,释放内存┃ ┃ ├──┼──────────────────────────────────────────────┨ ┃ │参数│文件路径:指日志文件名,含路径。* 为实时调试模式,立即刷到磁盘。LOGS %SystemRoot%\PECMD.LOG ┃ ┃ ├──┼──────────────────────────────────────────────┨ ┃ │示例│PECMD "TEAM LOGS drv.log| ENVI V=%PECMDVER%| DEVI $VCARD.CAB,,%TEMP%| LOGS " ┃ ┃ ├──┼──────────────────────────────────────────────┨ ┃ │备注│※配置文件结束之前,必须调用一次不带参数的"LOGS"命令,以关闭日志文件,程序退出是自动执行。 ┃ ┣━━┿━━┿━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┫ ┃ │格式│LOOP <循环条件>,<循环命令> ┃ ┃ ├──┼──────────────────────────────────────────────┨ ┃ │功能│测试循环条件,执行循环命令。 例: LOOP #%Number%<100,CALL DoLoop ┃ ┃ ├──┼──────────────────────────────────────────────┨ ┃ │参数│■循环条件: 格式为<[$|#]变量1<比较符>变量2>,前导符'$'表示进行字符串变量比较(不区分大小写);┃ ┃ │ │ 前导符'#'表示进行整数变量比较(按INT6类型处理),省略前导表示进行Double变量比较。 ┃ ┃ │ │※比较符 比较操作符"<"、">"、"="、"!"、">="、 "<="、"!="、"<>"分别表示:小于、大于、等 ┃ ┃ │ │ 于、不等于、大于等于、小于等于、不等于、不等于。 ┃ ┃LOOP│ │■循环命令: 格式为<[!]有效命令>,前导符'!'表示循环条件不成立时循环执行该命令,直至循环条件成┃ ┃ │ │ 立;无前导'!'表示循环条件成立时循环执行该命令,直至循环条件不成立。 ┃ ┣━━┿━━┿━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┫ ┃LSTR│格式│LSTR <用于保存命令结果的变量名><=><指定截取字符的数目>,<源字符串,长度不限> ┃ ┃ ├──┼──────────────────────────────────────────────┨ ┃ │功能│从指定"字符串"的左边截取指定数目的字符,将结果返回给指定名变量.LSTR aStr=2,1234567890 结果12┃ ┃ ├──┼──────────────────────────────────────────────┨ ┃ │备注│当"数目"小于1时或超出源字符串的长度时,返回结果为整个源字符串,该命令按 Unicode 字符串处理 ┃ ┣━━┿━━┿━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┫ ┃MAIN│格式│MAIN [文件路径] 指定初始化的配置文件路径, 示例: MAIN %SystemRoot%\PECMD\PECMD.INI ┃ ┣━━┿━━┿━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┫ ┃MDIR│格式│MDIR 目录名 建立目录.示例: MDIR %TEMP% , MDIR命令能建立多级目录,支持带环境变量的目录名 ┃ ┣━━┿━━┿━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┫ ┃ │格式│MEMO[-|+.] [-right] [-center] [-rich] ┃ ┃ │ │ <编辑框名称>,<编辑框形状>,[编辑框内容],[目标文件名],[编辑框类型],[编辑框颜色] ┃ ┃ ├──┼──────────────────────────────────────────────┨ ┃ │功能│在_SUB定义的窗口内建立一个多行文本编辑框。 ┃ ┃ ├──┼──────────────────────────────────────────────┨ ┃ │参数│-表示无水平滚动条;|表示无垂直滚动条;+表示无边框;.表示不转换\n否则转换。-rich:可设置颜色 ┃ ┃ │ │编辑框形状: 编辑框位置和大小,格式为,左上宽高均为数值。 ┃ ┃ │ │编辑框内容: 初始化编辑框时填入的内容,支持多行文字,\n或原生换行。逗号可用变量。 ┃ ┃ │ │目标文件名: 指定文本文件名,多行文本编辑框的内容由该文件载入。 ┃ ┃ │ │编辑框类型: 数字,默认省略或为0,表示可编辑的多行文本编辑框,负号为灰色禁用 ┃ ┃MEMO│ │编辑框颜色: 数字,由文字颜色和背景颜色组成,格式为"数值1#数值2",省略时为默认颜色.如0xFFFFFF┃ ┃ ├──┼──────────────────────────────────────────────┨ ┃ │示例│MEMO Memo1,L304T268W280H88,,%CurDir%\Readme.TXT,0 ┃ ┃ ├──┼──────────────────────────────────────────────┨ ┃ │备注│※[编辑框内容]不为空时将忽略[目标文件名],当[编辑框内容]为空时将加载[目标文件名]指定的内容 ┃ ┃ │ │※可用"ENVI @编辑框名称.Enable=数值"来设置编辑框的可用状态;0为不可用状态,非0为可用状态。 ┃ ┃ │ │※可用"ENVI @编辑框名称.ReadOnly=数值"来设置编辑框的只读状态;0为非只读状态,非0为只读状态。┃ ┃ │ │※可用"ENVI @编辑框名称.Visable=数值"来设置可见状态;0为不可见,非0为可见。 ┃ ┣━━┿━━┿━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┫ ┃ │格式│MENU <菜单项名称>,[菜单项标题],[菜单点击时执行的命令,为***表示退出托盘图标],[菜单项状态] ┃ ┃ ├──┼──────────────────────────────────────────────┨ ┃ │功能│向自定义的托盘图标菜单添加一项菜单。 ┃ ┃ ├──┼──────────────────────────────────────────────┨ ┃ │参数│■菜单项名称: 字符串,当菜单项名称或菜单项名称的第一个字符为"-"时表示分隔线,否则表示正常菜单┃ ┃MENU│ │■菜单项状态: 默认为0,表示正常可用菜单,带-号或±1为灰色禁用菜单。 ┃ ┃ ├──┼──────────────────────────────────────────────┨ ┃ │示例│MENU Menu2,分辨率1024X768 颜色32位 刷新率85,DISP W1024H768B32F85 或 MENU - ┃ ┃ ├──┼──────────────────────────────────────────────┨ ┃ │ │※托盘图标菜单的图标由 _SUB 命令定义的窗口图标来决定,省略时采用 PECMD 的主图标。 ┃ ┃ │备注│※可用"ENVI @菜单项名称=新标题" 来设置修改菜单项标题。 ┃ ┃ │ │※可用"ENVI @菜单项名称.Enable=数值"来设置编辑框的可用状态;0为不可用状态1为可用状态。 ┃ ┣━━┿━━┿━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┫ ┃ │格式│MESS[*.-svr+max+size+close] ┃ ┃ │ │ [文字内容][@消息窗文字标题][#消息窗类型[*自动关闭的时间(毫秒)][$默认的选择]] ┃ ┃ ├──┼──────────────────────────────────────────────┨ ┃ │功能│显示一个[是/否]选择消息窗或显示一个带[确定]按钮的消息窗口。 ┃ ┃ ├──┼──────────────────────────────────────────────┨ ┃ │参数│■消息窗文字内容: 支持多行文字,文字行间用“\n”断开或原始的多行文本,任何字符;保留空字符。┃ ┃ │ │ MESS后的“.”表示不转换“\n” 。特殊字符可用变量传入。-svr登录前可显示窗口。 ┃ ┃ │ │ +max带最大化,+size可调大小+close没有关闭小按钮。 ┃ ┃ │ │■消息窗文字标题: 除@之外任何单行文本,保留空字符。特殊字符可用变量传入(%老鼠%)。 ┃ ┃MESS│ │■消息窗类型: 目前支持"YN"、"OK"、“YNC"、"OKC"、"RETRY"、"ABORT"6种类信息。默认OK ┃ ┃ │ │■自动关闭的时间设置为0或不设置时,消息窗口不会自动关闭。默认的选择用Y或N表示,如$Y、$N、$C ┃ ┃ │ │ $1($O)、$O、$2($C)、$3($A)、$A、$4($R)、$R、$5($I)、$I、$6($Y)、$7($N)。 ┃ ┃ │ │■"MESS*"表示并行调用。父窗口可以同时操作。关闭前不能执行下一命令。 ┃ ┃ │ │■"MESS"表示阻塞调用,但不阻塞整个消息循环。 ┃ ┃ ├──┼──────────────────────────────────────────────┨ ┃ │示例│MESS 发现物理内存不足,\n是否设置虚拟内存?@设置虚拟内存 #YN *10000 $N ┃ ┃ ├──┼──────────────────────────────────────────────┨ ┃ │备注│※用户对消息窗的选择结果保存在变量 %YESNO% %&YESNO%中,当选择[是]时,变量的值为YES, ┃ ┃ │ │ 选择[否]时这一变量值为NO,当窗口超时关闭返回默认选择,可用FIND命令判断这一环境变量的值。 ┃ ┃ │ │ 其它返回值:OK、CANCEL、RETRY、IGNORE、ABORT。 ┃ ┃ │ │※"YN"类型消息窗省略默认的选择参数时自动关闭的返回值为NO。为便于调试,所有参数都可省略 ┃ ┣━━┿━━┿━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┫ ┃ │格式│MOUN [!][Wim格式映像文件名],,[映像ID],[Wim临时工作目录] ┃ ┃ ├──┼──────────────────────────────────────────────┨ ┃ │功能│将WIM文件中的某个映像挂载到指定的目录中或卸下已经挂载上的映像文件。 ┃ ┃ ├──┼──────────────────────────────────────────────┨ ┃ │ │映像ID : WIM文件中的映像ID,用数值表示。只读挂载映像时,映像ID为 1 时可省略。 ┃ ┃MOUN│参数│Wim临时目录:当设置临时工作目录时表示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 变量名=指定源字符串的起始位置,指定截取的长度,源字符串长度不限 ┃ ┃ │ 2 │MSTR 变量名1,变量名2...,变量名n=<[~]字串号1><[~]字串号2>...<[~]字串号n>字符串 ┃ ┃ ├──┼──────────────────────────────────────────────┨ ┃ │功能│从指定"字符串"的指定位置向右截取指定长度的字符,并将结果返回给指定名称的变量。 ┃ ┃ ├──┼──────────────────────────────────────────────┨ ┃ │参数│■字串号: 数值>=1,返回第几个字串。字串由空格"确定。<>是要输入的标志。有~则去掉最外的一对" ┃ ┃ ├──┼──────────────────────────────────────────────┨ ┃ │示例│MSTR aStr=2,4,1234567890 返回值2345 或 MSTR aStr=<~2>1 "a b c" 3 返回值a b c ┃ ┃ │ │MSTR a,b,c,d=<4><3><5><2>1111 222 333 444 555 666 或 MSTR aStr=-2,4,1234567890 ┃ ┃ ├──┼──────────────────────────────────────────────┨ ┃ │备注│※当"位置"<0从尾部开始反向处理;"长度"<=0则 实际长度 = 实际剩余总长度 - 该数的绝对值 ┃ ┃ │ │※当"位置"=0时作1处理,当"长度"小于1或超出源字符串长度时,返回起始位置后的所有字符; ┃ ┣━━┿━━┿━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┫ ┃NUMK│格式│NUMK <数值> 控制小数字键盘的开关状态 . 数值0时为关,非0为开. 例: NUMK 123 ,为开 ┃ ┣━━┿━━┿━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┫ ┃PAGE│格式│PAGE [*force] <指定页面文件路径,只能用DOS 8.3格式路径> <初始大小MB> [最大值MB] ┃ ┃ ├──┼──────────────────────────────────────────────┨ ┃ │功能│设置页面文件. 省略最大值时,自动设最大值=初始大小 例: PAGE *force C:\PAGEFILE.SYS 128 256 ┃ ┣━━┿━━┿━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┫ ┃ │格式│PART [-up] [-admin] [-super] [-align[=..]] [-alignend[=..]] [-clear] [del] ┃ ┃ │ │ [-raw] [-CHS=C:H:S] [-img=文件名|磁盘]#分区 [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|=[*长度限制*]文件名] [-img=文件名|磁盘] ┃ ┃ │ │PART [-phy] /pbr[=nt6|=win|=nt5|=dos|=[*长度限制*]文件名] [-img=文件名|磁盘]#分区 ┃ ┃ ├──┼──────────────────────────────────────────────┨ ┃ │功能│创建、删除、修改、隐藏、列表分区。 ┃ ┃ ├──┼──────────────────────────────────────────────┨ ┃ │参数│◎默认为较安全模式,只能操作一般不用的3、4分区,且不能是扩展分区。 ┃ ┃ │ │ -admin为高级模式(危险):可以操作1、2分区;-super为超级模式(极其危险):可以操作扩展分区; ┃ ┃ │ │ -align 起始对齐,默认柱面对齐,后面可以=64K,=128K,=512K,=1M等;-alignend为尾部对齐,默认对┃ ┃ │ │ 齐从-align,后面可以=64K,=128K,=512K,=1M等。 ┃ ┃ │ │ -clear 为强制清除分区内有效标志;-raw不对start/len做任何调整。 ┃ ┃ │ │ -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字节。 ┃ ┃ │ │del: 彻底删除分区 ┃ ┃ │ │ 彻底删除分区为: PART del [磁盘]#分区 或 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下的资源编号。┃ ┃ │ │ 长度限制为最多取的前部长度。不混淆时第二个*可以省略,如有#的时候。 ┃ ┃ │ ├──────────────────────────────────────────────┨ ┃ │ │/pbr 重写PBR默认为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│格式│PATH [#|@]目录名 ┃ ┃ ├──┼──────────────────────────────────────────────┨ ┃ │功能│设置PECMD.EXE的当前工作目录或建立目录或删除目录。 例:建立目录, PATH %CurDrv%\外置程序 ┃ ┃ ├──┼──────────────────────────────────────────────┨ ┃ │备注│"@"设置PECMD.EXE的当前目录,空时恢复默认目录. 前导"#"删除目录,该操作也可能删除同名的文件 ┃ ┃ │ │省略前导符"@"和"#"时,PATH用于建立目录(能建多级目录) ┃ ┣━━┿━━┿━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┫ ┃ │格式│PCIP [IP地址],[子网掩码],[默认网关],[DNS地址],[网卡序号][,网卡状态] //固定IP ┃ ┃ │ │PCIP -,[-],[-],[DNS地址],[网卡序号][,网卡状态] //动态IP ┃ ┃ ├──┼──────────────────────────────────────────────┨ ┃ │功能│设置计算机IP地址。格式1为固定IP(全部参数不可省)。 格式2为动态(可以指定DNS)。 ┃ ┃ ├──┼──────────────────────────────────────────────┨ ┃ │参数│■IP 地址 : IP形式字符串表示网络的IP地址,省略表示不修改IP地址,"-"号表示自动获取IP地址; ┃ ┃ │ │■子网掩码: IP形式字符串表示子网掩码,省略为不修改子网掩码,IP为"-"时表示自动获取子网掩码; ┃ ┃ │ │ 支持多IP多掩码。中间";"或":"或"&"分隔。多IP需要和多掩码对应,见示例。 ┃ ┃ │ │■默认网关: IP形式字符串表示网关地址,省略为不修改网关地址,IP为"-"时表示自动获取网关地址; ┃ ┃ │ │■DNS 地址: 首选DNS与备用DNS间用";"或"&"连接,省略不修改DNS地址,"-"号自动获取DNS服务器地址 ┃ ┃PCIP│ │网卡序号: 数字,可省略,默认为0表示第一网卡,1表示第二网卡,2表示第三网卡,依次类推 ┃ ┃ │ │网卡状态: 数字,用于操作网卡的启用或禁用状态,非0表示启,用0表示禁用,省略则不操作网卡状态 ┃ ┃ ├──┼──────────────────────────────────────────────┨ ┃ │示例│PCIP 192.168.1.2,255.255.255.0,192.168.1.1,292.168.66.123 固定IP 或PCIP -,-,-,-,,1 自动获得┃ ┃ │ │PCIP ,,,192.168.1.1;10.2.22.1,,1 或 PCIP ,,,,,1 //启用网卡 或 PCIP ,,,,,0 //禁用网卡 ┃ ┃ │ │PCIP 192.168.1.2;192.168.2.2,255.255.255.0;255.255.255.0,192.168.1.1,192.168.1.1 //多IP ┃ ┣━━┿━━┿━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┫ ┃ │格式│PINT <文件名称>,[菜单名称|菜单标识|#字符串ID] ┃ ┃ ├──┼──────────────────────────────────────────────┨ ┃ │功能│将 EXE 或 LNK 文件 Pin 到"开始菜单"或"任务栏",NT5.x系统只支持"开始菜单"。 ┃ ┃ ├──┼──────────────────────────────────────────────┨ ┃ │参数│■文件名称: EXE、LNK 等文件名,要带路径和扩展名,支持环境变量解释; ┃ ┃ │ │■菜单名称: EXE、LNK文件右键菜单对应的字符串,如"附到「开始」菜单(&U)"、"锁定到任务栏(&K)";┃ ┃ │ │ 建议只写前部分,"U)"等快捷键标识不写的好; ┃ ┃ │ │■菜单标识: 可以用"StartMenu"或"TaskBand",前者表示Pin到"开始菜单",后者表示Pin到"任务栏"; ┃ ┃ │ │■字符串ID: 数值,"附到「开始」菜单("、"锁定到任务栏("在SHELL32.DLL资源字符串的序号。 ┃ ┃PINT├──┼──────────────────────────────────────────────┨ ┃ │示例│PINT %SystemRoot%\Regedit.EXE,StartMenu 或 PINT %SystemRoot%\Regedit.LNK,附到「开始」菜单 ┃ ┃ │ │PINT %SystemRoot%\Regedit.EXE,TaskBand 或 PINT %SystemRoot%\Regedit.LNK,锁定到任务栏(&K) ┃ ┃ │ │PINT %WinDir%\System32\calc.exe,#5381 或 PINT %WinDir%\System32\calc.LNK,#5386 ┃ ┃ ├──┼──────────────────────────────────────────────┨ ┃ │备注│"菜单名称"、"菜单标识"和"字符串ID"3个参数只取其一,当3个参数均省略时表示Pin到"开始菜单" ┃ ┣━━┿━━┿━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┫ ┃ │格式│PUTF <文件名称>,[起始位置],<数据队列> ┃ ┃ ├──┼──────────────────────────────────────────────┨ ┃ │功能│以 BINARY 形式修改指定文件,指定物理磁盘的数据(例2,磁盘1--62扇区,填0) ┃ ┃ ├──┼──────────────────────────────────────────────┨ ┃ │参数│文件名: 已存在的文件名,物理磁盘\\.\PhysicalDrive0~N ,支持环境变量 ┃ ┃ │ │起始位置: 数值,相对于文件基址的起始位置,支持16进制数值,如 0x100;从0开始,默认0,可带TGMKS后缀┃ ┃PUTF│ │数据队列: [*重复因子] 数值,从起始位置开始写入的数据,多个数值之间用空格分隔,如 *1M 0x00 ┃ ┃ │ │ 0x23 0xAD *1K 0x1C 128 ┃ ┃ ├──┼──────────────────────────────────────────────┨ ┃ │示例│PUTF %CurDir%\Memu.DAT,0x400,0x23 0xAD PUTF \\.\PhysicalDrive%PHYDRV%,1S,*62S 0x00 ┃ ┣━━┿━━┿━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┫ ┃ │格式│RADI <单选框名称>,<单选框形状>,[单选框标题文字],[单选框事件],[单选框状态],[单选框组ID] ┃ ┃ ├──┼──────────────────────────────────────────────┨ ┃ │功能│在_SUB定义的窗口内建立一个单选框控件。 ┃ ┃ ├──┼──────────────────────────────────────────────┨ ┃ │参数│单选框形状: 单选框位置和大小,格式为,左上宽高均为数值。 ┃ ┃RADI│ │单选框状态: 数字,1或-1为钩选状态,0,2或-2为没有钩选,小于0为灰色不可用状态,±16不可见。 ┃ ┃ │ │单选框组ID: 数字,默认为0,可以将多个单选框分组,组内的单选框可以多选一,组间互不影响。 ┃ ┃ ├──┼──────────────────────────────────────────────┨ ┃ │示例│RADI RadioButton1,L32T314W100H20,卸载WimShExt.DLL,ENVI @Group1=%RadioButton1%,1,1 ┃ ┃ ├──┼──────────────────────────────────────────────┨ ┃ │备注│※要设置单选框标题,可使用 "ENVI @单选框名称=单选框标题" 来设置,参照 ENVI 命令的说明。 ┃ ┃ │ │※可用"ENVI @单选框名称.Check=数值"来设置单选框钩选状态,数值0为未钩选状态;非0为钩选状态。 ┃ ┃ │ │※可用"ENVI @单选框名称.Enable=数值"来设置单选框可用状态,数值0为禁用状态;非0为可用状态。 ┃ ┃ │ │※可用"ENVI @单选框名称.Visable=数值"来设置可见状态;0为不可见,非0为可见。 ┃ ┣━━┿━━┿━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┫ ┃ │格式│RAMD [P可用内存百分数] [L最小值MB] [H最大值MB] <===旧格式 ┃ ┃ │ │RAMD <驱动名称>[,磁盘大小][,磁盘格式][,盘符字母][,磁盘卷标][,压缩标志] <===新格式 ┃ ┃ ├──┼──────────────────────────────────────────────┨ ┃ │功能│设置RamDisk大小,三个参数都可单独使用,PECMD限定的最小值为1MB,最大值(X86系统2GB,X64系统32GB)┃ ┃ ├──┼──────────────────────────────────────────────┨ ┃RAMD│参数│■驱动名称: Ramdriv 或 ImDisk;最大值、最小值均为MB。 ┃ ┃ │ │■磁盘大小: 单位为 MB,用 Pxx Lyy Hzz 定义,xx为可用内存百分数,yy为最小值,zz为最大值; ┃ ┃ │ │■磁盘格式: 支持 FAT、FAT32、NTFS 三种格式,设置时将按参数格式化,省略时不对磁盘作格式化; ┃ ┃ │ │■盘符字母: 为 ImDisk 虚拟内存盘分配的盘符,使用 Ramdriv 驱动时该参数及"磁盘卷标"均要省略; ┃ ┃ │ │■磁盘卷标: 使用 ImDisk 驱动时格式化磁盘时设置的卷标。 ┃ ┃ │ │■压缩标志: 1:NTFS压缩 0或空:不压缩。 ┃ ┃ ├──┼──────────────────────────────────────────────┨ ┃ │示例│RAMD P20 L32 H64 或 RAMD ImDisk,L64,NTFS,B:,ImDisk1 或 RAMD Ramdriv,P20L32H64 ┃ ┃ ├──┼──────────────────────────────────────────────┨ ┃ │备注│※使用 Ramdriv 驱动时由驱动分配盘符并格式化;使用 ImDisk 驱动时可由 PECMD 分配盘符并格式化;┃ ┃ │ │※使用 ImDisk 驱动时可用该命令给指定的虚拟盘扩容,如 RAMD ImDisk,L128,NTFS,B:,ImDisk2 ┃ ┃ │ │※命令若执行成功,进程环境变量 %CurRamDisk% 即为盘符,可按需用 ENVI 设置成系统环境变量。 ┃ ┣━━┿━━┿━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┫ ┃ │格式│RECY <分区标识>,<回收站最大空间容量> //NA ┃ ┃ ├──┼──────────────────────────────────────────────┨ ┃ │功能│设置Win系统回收站.NT5系统中最大容量超30时,PECMD会使用默认值10,PE中在INIT后用 ┃ ┃ ├──┼──────────────────────────────────────────────┨ ┃ │参数│分区标识: 用分区盘符或"*:\"来表示,分区盘符表示指定分区,"*:\"表示所有分区,"\"可以省略。 ┃ ┃RECY│ │NT5系统表示百分数,NT6系统表示MB,0表示禁用指定分区的回收站功能,被删除的文件将不会移到回收站中┃ ┃ ├──┼──────────────────────────────────────────────┨ ┃ │示例│NT5.x系统: RECY D:,10或RECY E:,0或RECY *:,0 NT6.x系统: RECY C:,2048或RECY D:\,0或RECY *:\,0┃ ┣━━┿━━┿━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┫ ┃ │格式│REGI [前导]<\子项\><键名,变量名> ┃ ┃ │ │REGI [前导]<\子项\>[[键名][操作符][[类型符]数据值]] ┃ ┃ ├──┼──────────────────────────────────────────────┨ ┃ │功能│读取或设置、删除注册表数据。 ┃ ┃ ├──┼──────────────────────────────────────────────┨ ┃ │参数│■前导符 "$"、"#"、"@"、"*"或"**"、"~" 或"~~"分别表示读取注册表中的REG_SZ、REG_DWORD、 ┃ ┃ │ │ REG_BINARY 、REG_MULTI_SZ、REG_EXPAND_SZ类型数据。写入时可表示数据类型。~~表示再解┃ ┃ │ │ 释其中环境变量。**表示读时子串"\0"解释为"\\0", 写时相反。 ┃ ┃ │ │■子项名 所选 ROOTKEY 下注册表项的完整名。也可以直接用HKEY_LOCAL_MACHINE等 ┃ ┃ │ │■键值名 要操作的键值名。省略则操作默认键值;如果操作符为"!"且没有"=",则用于删除整个子项。┃ ┃ │ │■变量名 变量名用于保存返回值。有逗号但没有名字则为RegDat。无逗号设置、删除注册表数据。 ┃ ┃REGI│ │■操作符 操作符"!"为删除整个子项;操作符"="且没有数据为删除;操作符"="且有数据为设置数据。 ┃ ┃ │ │■类型符 数据类型。省略为字符串;"#"为REG_DWORD类型数据,如"#0x20";"@"为REG_BINARY类数据,┃ ┃ │ │ 如"@23 34 90 255"。"*"为REG_MULTI_SZ,如"*string1\0str2\0\0" 。"~"为REG_EXPAND_SZ ┃ ┃ │ │ 如"~%SystemRoot%\System32" 。强烈建议用前导符表示数据类型,以避免和字符串混淆。 ┃ ┃ │ │ 前导符优先。 ┃ ┃ │ │■数据值 字符串空值用""表示、REG_DWORD类型数据、REG_BINARY类型数据支持16进制数值。 ┃ ┃ ├──┼──────────────────────────────────────────────┨ ┃ │示例│REGI HKCU\SOFTWARE\PECMD\Version=#1200 、REGI $HKCR\lnkfile\IsShortcut= ┃ ┃ │ │REGI $HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\Shell Folders\Cache,IECache ┃ ┃ ├──┼──────────────────────────────────────────────┨ ┃ │备注│※此命令比较复杂,请仔细看说明,示例3为读取IE缓存的位置。 ┃ ┃ │ │删除> REGI HKCU\abc= 或 TEAM REGI HKCU\abc=| ┃ ┃ │ │空串> REGI HKCU\abc="" 或 TEAM REGI HKCU\abc= | ┃ ┃ │ │ 或 REGI HKCU\abc=%&NOTHING% //%&NOTHING%为一置空的变量 ┃ ┃ │ │ 如果需要写入『""』本身,或纯粹的一串空字符可以变量传入或用前导$ ┃ ┃ │ │空串> REGI $HKCU\abc= //还可其它串前导(* ** ~ ~~),下同 ┃ ┃ │ │写入前置空字符1> REGI $HKCU\abc= 123 ┃ ┃ │ │写入前置后置空字符2> TEAM REGI $HKCU\abc= 123 | ┃ ┃ │ │写入前置后置空字符3> REGI $HKCU\abc=%VAL% // %VAL%含有任意空字符组合 ┃ ┣━━┿━━┿━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┫ ┃ │格式│RSTR <保存命令结果的变量名><=><指定截取字符的数目>,<源字符串,长度不限> ┃ ┃ ├──┼──────────────────────────────────────────────┨ ┃RSTR│功能│从指定"字符串"的右边截取指定数目的字符,并将结果返回给指定名称的变量。按 Unicode 字符串处理 ┃ ┃ ├──┼──────────────────────────────────────────────┨ ┃ │示例│RSTR aStr=2,1234567890 返回值为"90" "数目"小于1时或超出源字符串的长度时,结果为整个源字符串┃ ┣━━┿━━┿━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┫ ┃ │格式│RUNS <程序命令为EXE、CMD、BAT各种可执行的命令,可带参数>,<启动项名称为文字> ┃ ┃ ├──┼──────────────────────────────────────────────┨ ┃RUNS│功能│设置Windows启动项 例:RUNS PECMD.EXE EXEC !%CurDrv%\外置程序\DRIVER\STARTDRIVER.CMD,安驱动 ┃ ┣━━┿━━┿━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┫ ┃SCRN│格式│SCRN [变量名1],[变量名2] 返回屏幕当前的宽和高,出错时结果均为空值或0,例: SCRN ScrW,ScrH┃ ┣━━┿━━┿━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┫ ┃SERV│格式│SERV [!]<服务名称> 启动或停止服务,前导"!"表示停止服务,否则启动服务 例: SERV FBWF ┃ ┣━━┿━━┿━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┫ ┃SET │格式│SET[.$%~~*] [&]][名称]=[值] 例: SET LTEMP=%SystemDrive%\TEMP ┃ ┃ ├──┼──────────────────────────────────────────────┨ ┃ │功能│设置或清除PE变量。等价于ENVI & 参考ENVI命令 删除ABC, SET ABC= SET &ABC=123 ┃ ┃ ├──┼──────────────────────────────────────────────┨ ┃ │参数│"."表示“\n”转换为换行。"$"表示值按16进制转换为对应字符,2个一组或空格分隔。"%" 按10进制转 ┃ ┃ │ │ 换,空格分隔"." ,"~"表示变量再解释一次;"~~"再2次。"*"多轮次。 ┃ ┃ │ │"&"表示定义变量,即只本级变量,没有就添加. 如果上级有仅修改上级,如果不指定值,则删除环境变量 ┃ ┣━━┿━━┿━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┫ ┃SHEL│格式│SHEL 例: SHEL %SystemRoot%\EXPLORER.EXE ┃ ┃ ├──┼──────────────────────────────────────────────┨ ┃ │功能│加载指定的SHELL,并将SHELL锁定,当SHELL被杀时能自动加载SHELL ,必须在 HOTK 和 HIDE 命令之后 ┃ ┣━━┿━━┿━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┫ ┃ │格式│SHOW [=1] [*&-] [磁盘分区],[盘符字母],[等待时间],[起始盘符] ┃ ┃ ├──┼──────────────────────────────────────────────┨ ┃ │功能│显示系统存在的移动硬盘、固定硬盘的隐藏分区或沒有加载的分区,并给这些分区分配盘符。 ┃ ┃ ├──┼──────────────────────────────────────────────┨ ┃ │参数│■&表示局部模式,其它进程很可能看不到。加载时*为持久加载;卸载时*为全部卸载,否则为最近的加 ┃ ┃ │ │ 载。-为卸载。=1 为如果已经加载,就不加载。 ┃ ┃ │ │■磁盘分区: 由 [硬盘号或标识符:分区号或标识符#分区号] 组成,"硬盘号"与"标识符"只取其一。 ┃ ┃ │ │ ◆硬盘号: 用数值表示,小于"0"表示所有的硬盘、U盘和移动硬盘,"0"表示"hd0","1"表 ┃ ┃ │ │ 示"hd1","2"表示"hd2","3"表示"hd3",依次类推; ┃ ┃ │ │ ◆标识符: 用"F"或"U"表示,"F"表示固定硬盘,"U"表示U盘或USB移动硬盘; ┃ ┃ │ │ ◆分区(逻辑)号: 用数值表示,小于"0"表示全部还没有盘符的分区,"0"表示全部还没有盘┃ ┃ │ │ 符的可见分区,"1"表示第1分区,"2"表示第2分区,"3"表示第3分区,依┃ ┃ │ │ 次类推;为空或-则删除。#后的为物理分区号。1-4为主分区,5-N 为逻┃ ┃ │ │ 辑分区。 ┃ ┃SHOW│ │■盘符字母: 用字母"A~Z"表示,省略"盘符字母"或设置盘符不合理时自动分配盘符。 ┃ ┃ │ │ 可以是汉字。 汉字可以解决盘符不足,同时很私密(不能被列表),按需加载、卸载。 ┃ ┃ │ │■等待时间: 数字,表示为设备就绪等待若干时间(毫秒)后才执行分配盘符的功能。 ┃ ┃ ├──┼──────────────────────────────────────────────┨ ┃ │示例│SHOW 0:1,H 或 SHOW U:1,U 或 SHOW F:0 或 SHOW U:0,,3000 或 SHOW U:-1 或 SHOW 0:-1 或 SHOW ┃ ┃ │ │SHOW 0#1,H 或 SHOW 0:1 或 SHOW 0#1 或 SHOW - 0:1 或 SHOW - 0#1 ┃ ┃ ├──┼──────────────────────────────────────────────┨ ┃ │备注│※某些型号的机子在系统启动后已经可以识别移动硬盘,但没有为移动硬盘指派盘符,可以通过 SHOW 命┃ ┃ │ │ 令的"U"标识符为移动硬盘分配盘符,示例2表示给"移动硬盘的第1分区"指派为盘符"U:"; ┃ ┃ │ │※示例1表示"硬盘0分区1"指派为盘符"H:",示例3表示自动为"固定硬盘的所有可见分区"指派盘符; ┃ ┃ │ │※通常"等待时间"可以省略,"等待时间"是驻留内存的PECMD在检测到移动硬盘插入时内部使用的变量; ┃ ┃ │ │※省略所有参数的SHOW命令不会主动载入隐藏分区,要载入隐藏分区,"分区号"必须设置为数值"-1"; ┃ ┃ │ │※删除盘符可用SHOW或SUBJ命令,可载入隐藏分区的外置程序并保持原分区隐藏属性。 ┃ ┣━━┿━━┿━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┫ ┃SHUT│格式│SHUT [-force] [R|L] 无参数:关闭系统, "R"重启系统,-force:快速关机,"L": 注销用户┃ ┃ ├──┼──────────────────────────────────────────────┨ ┃ │功能│关闭 SHUT 或 重启计算机 SHUT R ┃ ┣━━┿━━┿━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┫ ┃SITE│格式│SITE <文件目录路径>,<文件目录属性> 例: SITE %SystemDrive%\BOOT.INI,+H+R ┃ ┃ ├──┼──────────────────────────────────────────────┨ ┃ │功能│设置或清除文件,目录的属性,支持A,H,R,S四种.设置用"+",清除用"-"(A=文档,H=隐藏,R=只读, S=系统) ┃ ┣━━┿━━┿━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┫ ┃ │格式│STRL <变量名><=><字符串,长度不限> 例: STRL iLen=1234567890 或 STRL dLen=一二三四五┃ ┃STRL├──┼──────────────────────────────────────────────┨ ┃ │功能│返回指定"字符串"的长度。返回结果是Unicode字符串的长度,示例1的返回值为10,示例2的返回值为5 ┃ ┣━━┿━━┿━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┫ ┃ │格式│SUBJ [-]<虚拟驱动器盘符>,[指派给虚拟驱动器的目录路径] 例: SUBJ B:,D:\My ┃ ┃SUBJ├──┼──────────────────────────────────────────────┨ ┃ │功能│将路径与驱动器号关联,相当于SUBST命令。 省略"虚拟驱动器的路径"或带-,则删除指定的虚拟驱动器┃ ┣━━┿━━┿━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┫ ┃TEAM│格式│TEAM 命令1|命令2|命令3|命令4|命令5|......|命令n ┃ ┃ ├──┼──────────────────────────────────────────────┨ ┃ │功能│按顺序执行各命令。例: TEAM TEXT 载入桌面|LOGO|HIDE|SHEL %SystemRoot%\EXPLORER.EXE|WAIT 3000 ┃ ┣━━┿━━┿━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┫ ┃ │格式│TEMP [[@]Delete|Setting][,变量名返回旧的或新设的临时目录] ┃ ┃ ├──┼──────────────────────────────────────────────┨ ┃ │功能│清理用户临时文件夹或重新设用户置临时文件夹的位置。必须启动到桌面使用 示例: TEMP Delete ┃ ┃ ├──┼──────────────────────────────────────────────┨ ┃TEMP│参数│Delete表示清理临时目录,前导@表示不经用户确认直接清理;Setting表示重新设置临时目录的位置。 ┃ ┣━━┿━━┿━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┫ ┃ │格式│TEXT[.] [文字][#颜色][L左][T上][R右][B下][$字体大小] ┃ ┃ ├──┼──────────────────────────────────────────────┨ ┃ │功能│在登录画面中或桌面窗口显示文字。\n换行,后缀.为原始模式不转换换行,字体大小默认为16(宋体小5号)┃ ┃TEXT├──┼──────────────────────────────────────────────┨ ┃ │示例│TEXT 正在注册组件……#0xFFDDDD L4 T720 R300 B768 $20 默认颜色为白色,默认坐标在左上角 ┃ ┣━━┿━━┿━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┫ ┃ │格式│THREAD[&][*][+] 命令组 ┃ ┃ T ├──┼──────────────────────────────────────────────┨ ┃ H │功能│启动一个线程,运行一命令(组)。 TEAM THREAD* CALL @菜单01| CALL @WIN1 //同时开两个窗口┃ ┃ R ├──┼──────────────────────────────────────────────┨ ┃ E │参数│任何合法命令或命令组。&表示强制变为PE变量,能最简单变多线程。&*无顺序。*为保持父子关系, ┃ ┃ A │ │包刮窗口,等子线程结束,只有这样才能操作父线程(已有线程安全)。默认为独立模式,彼此没有关系。┃ ┃ D │ │+为弃儿线程。程序到结尾是不等待该线程退出。 例: THREAD CALL Hello a1 a2 a3 ┃ ┣━━┿━━┿━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┫ ┃ │格式│TIME <定时器名称>,<定时器周期单位为毫秒,非0为已启动,0为暂停>,[定时器事件] ┃ ┃TIME├──┼──────────────────────────────────────────────┨ ┃ │功能│建一个定时器控件. 例: TIME Timer1,10000,FILE %TEMP%\*.* ┃ ┣━━┿━━┿━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┫ ┃ │格式│UPNP [$]<参数> 前导"$" 显示BartPE界面.参数为BartPE的命令行参数 示例:UPNP -pnp或UPNP $-pnp ┃ ┃UPNP├──┼──────────────────────────────────────────────┨ ┃ │功能│执行BartPE.EXE功能,只支持NT5PE且为阻塞模式执行,命令完成后才执行下一条命令,注意参数及大小写 ┃ ┣━━┿━━┿━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┫ ┃ │格式│USER <用户名>,<公司名> ┃ ┃USER├──┼──────────────────────────────────────────────┨ ┃ │功能│设置"我的电脑"右键菜单属性中的用户名和公司名, 例: USER mdyblog.blog.163.com,无忧启动 ┃ ┣━━┿━━┿━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┫ ┃ │格式│WALL <壁纸文件名> ┃ ┃WALL├──┼──────────────────────────────────────────────┨ ┃ │功能│设置壁纸,支持环境变量,支持各种格式的图形文件,示例: WALL %CurDrv%\外置程序\WallPage.JPG ┃ ┣━━┿━━┿━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┫ ┃WAIT│格式│WAIT [时间(毫秒)] 功能: 等待指定时间后再继续执行命令 ┃ ┃ ├──┼──────────────────────────────────────────────┨ ┃ │示例│WAIT 5000 或 WAIT 0 参数为0则暂停,任意键继续,可连续反复使用 ┃ ┣━━┿━━┿━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┫ ┃ \ │格式│ \ ,一行第一个非空字符为 \ 并入上一行 \ 及以前空字符,后面的一个空字符(如果有),均丢弃 ┃ ┗━━┷━━┷━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ ┃ 关于 PECMD - WinPE Commander 的特别声明 ┃ ┣━━┯━━┯━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┫ ┃ │命令│ '致谢' ┃ ┃ ├──┴──────────────────────────────────────────────┨ ┃ │◎感谢 Lxl1638 公开 PECMD2.4 的源代码,PECMD2012是参考PECMD2.4,重新设计而成。 ┃ ┃ │◎感谢 Yonsm 公开 XCMD 的源代码,PECMD是在 XCMD V2.2版的基础上补充完善而成。 ┃ ┃ │◎感谢 无忧论坛网友的建议。 ┃ ┃致谢│◎感谢 无忧论坛 提供的讨论场所。 ┃ ┃ │◎感谢 qinjg8008 提供设置虚拟内存的源代码。 ┃ ┃ │◎感谢 Sherpya 公开 XPE Plugin 的全套源代码。 ┃ ┣━━┿━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┫ ┃ │PECMD2012 NonCopyRight 许可: ┃ ┃许可│◎任何个人和组织(含商业组织)可随意免费使用,逆向工程,破解... ┃ ┃ │◎如果您使用或修改了其中任何源代码,则强烈建议把使用这些源代码的项目以及项目内的所有源代码公开。 ┃ ┃ │ 对商业组织,可以不公开源代码,但必须公开开发接口及其文档。 ┃ ┃ │◎尽量保持版本的一致性。 ┃ ┃ │◎内部使用不受此限制。 ┃ ┃ │DSystem mdyblog.blog.163.com 2012.1.22 ┃ ┗━━┷━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ 1.内置初始化脚本 脚本文本 直接加入 资源 SCRIPTINI\100\2052 启动时先自动执行初始化,然后正常流程。 2.脚本内置: 脚本文本 直接加入 资源 SCRIPT\101\2052 启动时自动执行,并把命令行参数当作该脚本的参数。 脚本中可以直接引用。如 LOAD #101 或 LOAD #102 3.注释 ;或`或// ,且在行首或前有一个空字符,该空字符算注释。 如何输入行尾空字符?用TEAM 命令,在行尾空格后放一个|及下一命令,只放一个|也可以。 4.分区类型操作数,16进制 ID 分区类型 0 空(彻底隐藏) 0x01 DOS_FAT12 0x02 xenix root 0x03 xenix usr 0x04 DOS_FAT16 less then 32 M 0x05 Extended扩展分区 0x06 DOS_FAT16 greater then 32 M 0x07 HPFS/NTFS 0x08 aix boot 0x09 aix data 0x0a os/2 boot 0x0b FAT32 Win95 0x0c FAT32 LAB Win95 0x0e FAT16 LAB Win95 0x0f Extended_LBA Win95 0x82 Linux_Swap 0x83 Linux_Native 0x85 Linux_Extended 0x10 opus 0x11 Hide_FAT12 0x12 EISA/compaq,HIDE_FAT 0x13 btron 0x14 Hide_FAT16 less then 32 M 0x16 Hide_FAT16 greater then 32 M 0x17 Hide_HPFS/NTFS 0x18 AST smart sleep 0x1b Hide_FAT32 Win95 0x1c Hide_FAT32 LAB Win95 0x1e Hide_FAT16 LAB Win95 0x24 NEC dos 3.x 0x2a atheOS AFS 0x2b Sylstor 0x32 NOS 0x35 JFS on os/2 or eCS 0x42 Dynamic_Disk 0x93 Hide_Linux 0xd7 HIDE_DELL 0xdd HIDE_DELL 0xdb HIDE_DELL 0xde HIDE_DELL 0xbc ATI_SEC_ZONE 0xa5 FreeBSD 15 隐藏扩展分区 1f 隐藏Win95扩展分区LBA 95 隐藏Linux扩展分区 7e linux 7f linux Unknown: 0x96 0x0d 0dh 0d 36 37 3d 3e 62 15 1a 1d 1f 23 25 mdyblog.blog.163.com DSystem