- 积分
- 218
- 实力分
- 点
- 金钱数
- 两
- 技术分
- 分
- 贡献分
- 分
|
楼主 |
发表于 2008-11-7 14:52:12
|
显示全部楼层
CeleCmd 使用说明
[简介] [特点] [安装] [使用] [菜单] [命令] [问答] [许可] [致谢]
一、简介
欢迎使用功能强大、灵活方便的 CeleCmd 命令解释引擎。您只要编写简单的 CeleCmd 命令文件,就能在 Windows Mobile 中实现灵活强大的批处理功能。
[目录]
二、特点
性能高效:命令解释引擎精巧构思,短小精干,运行迅速。
功能强大:内置支持多种命令,使用这些命令可以编写出功能强大的批处理脚本。
扩展支持:支持调用外部 EXE 和 DLL 函数。
使用灵活:支持格式统一的命令行参数和命令文件,可以在命令行、命令文件和程序界面中,调用 CeleCmd 的各种功能。
其它功能:支持导入标准的 Windows 注册表导出文件和 Windows Mobile RGU 注册表脚本脚本,支持处理 Windows Mobile XML/PROVXML 配置文件。
方便调试:在程序界面中执行命令或命令文件,可以在日志窗口中跟踪脚本执行的流程和结果,方面发现命令脚本的问题。
广泛支持:一个可执行文件,同时支持 Windows Mobile Smartphone/PocketPC 2003/5.0/6.0。
源码公开:源代码公开,方便更改定制和功能增强,且在源代码中增加扩展命令支持非常容易。
[目录]
三、安装
安装:把 CeleCmd.exe 复制到 Windows Mobile 设备中即可使用。
卸载:CeleCmd 是“绿色”软件,删除 CeleCmd.exe 即可卸载。如果选择了关联 .CCS 命令文件,请先在 CeleCmd 程序中取消文件关联。
[目录]
四、使用
使用方式
直接执行本程序,将显示允许输入命令和现实执行结果的对话框,您可以直接在程序界面上执行各种操作。
在命令行参数中使用,例如,要创建快捷方式,执行“CeleCmd.exe LINK %M\程序\测试程序.lnk,%W\Test.exe”即可。
在命令文件中使用,例如,“CeleCmd.exe LOAD \Storage Card\*.CCS”。
如果省略命令关键字,将把参数作为文件路径看待,执行“LOAD”命令。CeleCmd 支持 CeleCmd 脚本文件、注册表脚本文件、和 XML 配置文件。
命令格式
CeleCmd 的命令是一行字符串,以大写的四字符关键字开始,紧跟着的是空格或制表符,后面是命令的参数。
参数之间用逗号“,”分隔,如果在参数中要使用逗号本身,则需要使用“%,”的转义字符。
不同的命令的参数格式不一致,详细请参考 命令。
变量与宏
CeleCmd 读取一条个命令文件后,首先展开其中用“%”号前导的宏:
E 当前脚本的完整路径
C 当前脚本的目录
T 当前时间
D 当前日期
X 最后一条命令的返回值,十六进制格式,如 0XFFFFFFFF
x 最后一条命令的返回值,十进制格式,如 -1
0-9 用户变量值,用户可以通过 EVAL 命令设置变量 0 到 9 的内容
A 可能是 \Application Data
Y 可能是 \My Documents
S 可能是 \Windows\Startup
W 可能是 \Windows
P 可能是 \Windows\“开始”菜单\程序
M 可能是 \Windows\“开始”菜单
F 可能是 \Program Files
R 回车字符
N 换行字符
# 十六进制字符,后面紧跟这四个十六进制字符,如“%#FEFF”
% 由于“%”用于宏转义,如果需要在参数中确实需要使用“%”本身,则需要用两个“%”代替,如“%1”要写成“%%1”。
, CeleCmd 把“,”作为参数分隔符,与“%”类似,如果在参数中需要使用“,”本身,则需要使用“%,”的形式。
命令文件
CeleCmd 的命令文件是由 CeleCmd 命令组成的命令集合。
每条命令单独一行。
命令文件中可以使用注释,注释必须单独一行,以“;”作为注释行开始。
命令文件支持 UNICODE 格式和 ASCII 格式,为了更高的执行效率,推荐使用 UNICODE 格式。
命令文件中可以杂合 Windows Registry Script 内容,CeleCmd 会把 Registry Script 导入到注册表。但是使用这种方式必须十分小心,因为执行过程中,Registry Script 部分会被修改(仅在内存中),可能导致 CALL 和 GOTO 无法正常使用(使用原则:最新会被执行到的 Registry Script 放在文件最后的子过程中,这样就能避免问题)。
[目录]
五、菜单
执行:刷新联系人列表。
清除日志:清除日志窗口中的内容。
文件关联:把 .CCS 和 .PROVXML 文件关联到 CeleCmd,以便在资源管理器中可以直接打开 .CCS 和 .PROVXML 文件。
帮助:显示“帮助”窗口,可以查看本帮助信息。
关于:显示程序版本、版权和作者信息。
退出:退出 CeleCmd 程序。
[目录]
六、命令
[LOAD] [BATC] [IFEX] [ELSE] [CALL] [GOTO] [PROC] [ENDP] [PLAY] [BEEP] [MSGX] [DLGX] [LINK] [FILE] [REGX] [TGZX] [SEND] [WAIT] [KILL] [SHUT] [EXEC] [CDLL] [EVAL] [ASOC] [CCUI] [HELP]
[LOAD ]<文件路径>
功能:LOAD script file/加载并解释命令脚本文件、注册表脚本文件或者 XML 配置文件。
参数:指定命令文件的路径,支持通配符。
示例:LOAD \*.CCS
备注:
文件路径支持支持通配符“*”和“?”,自动搜索匹配文件。如“LOAD \Storage Card\Cele*.CCS”。
如果文件路径中的最后两个字符是“\*”,则自动搜索该目录中所有子目录下的 *.CCS 文件。如“LOAD \*”,表示搜索根目录下所有子目录中的 *.CCS 文件。
此命令可以执行 CeleCmd 命令脚本,导入注册表脚本,还可以处理 XML 配置文件。CeleCmd 将会根据文件内容格式(而不是文件扩展名),决定使用什么方式来处理文件。
LOAD 关键字可以省略,也就是说,您可以把 .CCS/.REG/.RGU/.XML/.PROVXML 文件类型关联到 CeleCmd,解释引擎可以直接处理它们。
注册表脚本文件中,最后一行不会被处理,建议最后留一个空行。
BATC <命令1>[;命令2][;命令3][...]
功能:BATch Command/一次执行多个命令。
参数:命令列表,用分号分割。
示例:BATC BEEP;MSGX Hello%, World!
备注:由于分号被用作分隔符,用此命令执行的子命令中,将无法使用“;”字符。
IFEX [!]<条件><,命令>
功能:IF condition is true, EXecute command/根据条件是否成立,决定是否执行命令。
参数:指定条件和命令。前导“!”表示条件不成立才执行。如果不存在下列条件判断符,则把条件当作文件路径,判断文件或目录是否存在。
=:字符串匹配,忽略大小写
!:字符串不匹配,忽略大小写
==:数值相等
!=:数值不相等
>:数值大于
>=:数值大于或等于
<:数值小于
<=:数值小于或等于
&:位 AND 运算
&&:逻辑 AND 运算
|:位 OR 运算
||:逻辑 OR 运算
示例:IFEX %x&0x08,BATC BEEP;MSGX Sure!
备注:本命令不修改返回值(即,您可以连续判断“%x”并执行相应的操作)。
ELSE <命令>
功能:ELSE condition command/如果最近的 IFEX 条件不成立,则执行命令。
参数:指定命令。
示例:ELSE MSGX Error!
备注:本命令不修改返回值。基于此点,DLGX 后可以连续用此命令判断 %x 的值,而不用担心会被 IFEX 后面的命令修改返回值。
CALL <子程序名>
功能:CALL procedure/调用子程序。
参数:指定子程序名称。该子程序必须位于此命令之后。
示例:CALL _DiableSTK
备注:此命令只能在命令文件中使用,不能在命令行参数中使用。
GOTO <子程序名>
功能:GOTO procedure/转到子程序。
参数:指定子程序名称。该子程序必须位于此命令之后。
示例:GOTO _DiableSTK
备注:此命令只能在命令文件中使用,不能在命令行参数中使用。
PROC <子程序名>
功能:PROCedure/定义子程序。
参数:指定子程序名称。
示例:PROC _DiableSTK
备注:此命令只能在命令文件中使用,不能在命令行参数中使用。
ENDP <子程序名>
功能:END of Procedure/子程序结束。
参数:指定子程序名称。
示例:ENDP _DiableSTK
备注:此命令只能在命令文件中使用,不能在命令行参数中使用。
PLAY [!][$]<声音文件路径>
功能:PLAY sound/播放声音。
参数:指定声音文件路径,仅支持 WAV 格式。
示例:PLAY \Windows\Alarm1.wav
备注:前导“!”表示后台播放;前导“$”表示系统声音别名;前导“*”表示循环播放。
BEEP [类型]
功能:BEEP/鸣叫。
参数:指定鸣叫声音类型(数值),具体意义与 Windows Mobile SDK 中 MessageBeep 相同,请查阅相关文档或实际尝试。
示例:BEEP
备注:无。
MSGX <消息文本>[,标题][,类型]
功能:MesSaGe boX/显示消息框。
参数:指定消息文本,消息框标题(默认为本程序的名称),以及消息框类型(默认为 0x40)。
示例:MSGX 禁用 STK 服务将导致一卡双号功能不能使用。%N%N确实要禁止 STK 服务吗?,禁止 STK 服务,0x24
备注:
消息框类型与 Windows Mobile SDK 中 MessageBox 意义相同,为以下两组数值的组合:
0x00 OK
0x01 OK/CANCEL
0x02 ABORT/RETRY/IGNORE
0x03 YES/NO/CANCEL
0x04 YES/NO
0x05 RETRY/CANCEL
0x10 ERROR
0x20 QUESTION
0x30 WARNING
0x40 INFORMATION
本命令返回值如下:
0x01 OK
0x02 CANCEL
0x03 ABORT
0x04 RETRY
0x05 IGNORE
0x06 YES
0x07 NO
DLGX [[[选中]|{选中}|<选中>|$]文本1][[[选中]|{选中}|<选中>|$]文本2][...]
功能:DiaLoG boX/显示对话框。
参数:定义对话框中的控件文字;初始值表示复选框和单选框的初始状态,最低位为 1 表示第一个对话框控件选中,依此类推。
示例:DLGX $请选择要执行的操作,$,{1}安装梅花输入法,<0>安装中天 A4 输入法,$,[1]开启 STK 服务,$,$设置字符串:,%0
备注:
前导“[]”表示复选框;前导“<>”表示单选框;前导“{}”表示分组单选框;前导“$”表示提示文字;如果没有前导符且是第一项,设置对话框标题,否则表示编辑框。
如果用户点击确定,将返回所有控件选中状态的组合(即,如果第一个控件被选中,则返回值的最低位为 1,依此类推)。只有复选框和单选框能被选中,但其它控件也计入选中状态组合。
如果用户点击确定,第一个编辑框的结果将保存在 %0 中,第二个编辑框的结果将保存在 %1 中,依此类推。
如果用户点击取消,将返回 -1;
LINK <快捷方式路径><,目标路径>[,运行参数][,图标路径][,图标索引]
功能:LINK shortcut to target/创建快捷方式。
参数:
快捷方式路径:指定要生成的快捷方式的路径,需要“.LNK”扩展名。
目标路径:指定快捷方式的目标文件或目录。
运行参数:目标程序运行参数。
图标路径:快捷方式图标的路径。
图标索引:快捷方式图标的在文件资源中的标识。
示例:LINK %S\电话,%W\CProg.exe,,ShellRes.dll,1024
备注:图表索引是该图标在所有图标中的顺序;或者用“-”前导,紧跟着图标的资源标识,如“-100”。
FILE <文件路径>[<操作符>[目标]]
功能:FILE or directory operation/创建、复制、移动、删除文件或目录。
参数:指定源文件路径和目标路径,支持通配符。如果有没有以下操作符存在,则表示删除文件;否则,表示以下操作:
->:移动文件或目录
=>:复制文件或目录
<-:创建文件,并把目标数据以 ASCII 方式写入到文件中
<=:创建文件,并把目标数据以 ASCII 方式追加到文件中
{-:创建文件,并把目标数据以 UNICODE 方式写入到文件中
{=:创建文件,并把目标数据以 UNICODE 方式追加到文件中
示例:FILE \Temp\*.txt
备注:在创建文件功能中,无法写入空字符(即“%#0000”)。
REGX <<根项><\子项\>[[-|#|@]键值][=数据]
功能:REGistry eXecution/读取、设置、删除注册表数据。
参数:
注册表脚本路径:导入指定的注册表脚本到系统注册表中,支持通配符,例如“REGX %c\*.REG”。 如果前导“!”表示不显示提示对话框。
子项:所选 ROOTKEY 下注册表项的完整名,可以是 HKU、HKCU、HKCR、HKLM 或 HKEY_USERS、HKEY_CURRENT_USER、HKEY_CLASSES_ROOT、HKEY_LOCAL_MACHINE。
键值:要操作的键值。如果前导“#”则表示 REG_DWORD 整数类型的数据,如“#0x20”;如果前导“@”则为 REG_BINARY,如“@23 34 90 255”;否则为字符串。
数据:要设置的数据。如果没有“=”则表示获取数据,并保存在 %0 中。如果前导“-”,且数据中没有“=”则删除值或子项。
示例:REGX HKCR\CeleCmd\#Test=%x
备注:此命令描述比较复杂,请耐心理解。
TGZX <文件路径>[,目标目录]
功能:TGZ file eXtraction/解压缩 TAR GZip 文件到指定目录。
参数:指定源文件路径和目标路径。如果没有目标目录,将解压缩到根目录。TGZ 格式可以用 7-Zip 来制作。
示例:TGZX %C\CeleSetup.tgz
备注:定制 ROM 时可以用此命令来解压缩文件,以避免 InitFlashFiles.dat 中大量的文件拷贝命令,以及 CAB 文件中不支持中文的困扰。
SEND <按键代码1[_|^]>[,按键代码2[_|^]][...]
功能:SEND key input/模拟按键。
参数:虚拟按键代码,如 VK_NUMLOCK,请参相关考编程文档。如果按键代码以“_”结束,则仅模拟按键按下;“^”则仅模拟按键弹起;否则模拟按下并弹起。很生动吧:)
示例:SEND 0x12_,0x09_,0x09^,0x12^
备注:上面的示例模拟 Alt+Tab。按键代码支持 16 进制,如“SEND 0x90”表示按下 NumLock 键。
WAIT <时间>
功能:WAIT to continue/等待指定时间后再继续执行命令。
参数:指定时间,单位为毫秒。
示例:WAIT 2000
备注:无。
KILL <进程名称>
功能:KILL process/强制终止指定的进程。
参数:进程名称,即 EXE 文件名(不包含目录)。
示例:KILL CProg
备注:此命令将终止与“进程名称”前部分匹配的所有进程,所以如果省略参数,可能将全部进程关闭。
SHUT [G|P|K|H|S|C|R]
功能:SHUT down or reboot device/关闭、重起或硬起设备。
参数:分别表示 GwesPowerOffSystem()/EWX_POWEROFF/keybd_event/HTC_ColdBoot/HTC_Shutdown/SetCleanRebootFlag/KernelIoControl/EWX_REBOOT 方式执行。默认为 EWX_REBOOT,即重新启动。
示例:SHUT
备注:参数“H”和“C”表示硬起,将导致所有数据丢失,请谨慎使用。
EXEC [!]<EXE 路径>[,参数]
功能:EXECute a program/执行 EXE 程序。
参数:指定 EXE 路径和参数。
示例:EXEC WCELoad.exe,/nogui "%C\CeleTest.cab"
备注:前导“!”表示后台执行,不等待执行完成。
CDLL <DLL 路径>[,函数名称][,[#]参数1][,[#]参数2][,[#]参数3][,[#]参数4]
功能:Call DLL function/调用 DLL 函数。
参数:指定 DLL 路径、函数名称和参数。如果省略函数名称,将调用“DllRegisterServer”。参数默认为 UNICODE 字符串,如果以“#”前导则表示整数;最多支持四个函数参数。
示例:CALL SHELL32.DLL,DllInstall,#1,I
备注:函数必须以 STDCALL 方式导出(不明白什么意思的话,就当没任何问题)。
EVAL [变量名][=字符串]
功能:EVALuate variable/给变量赋值。
参数:指定变量名称(0-9、x、X),以及要赋值的字符串。
示例:EVAL 0=My Variable
备注:
如果省略变量名称,则清空所有变量。
如果没有等号字符,将返回该变量的数值形式。
ASOC [!][文件类型]
功能:ASOC file type/显示帮助信息。
参数:指定要关联的文件类型,如果不指定,表示“CeleCmd”类型。前导“!”表示删除文件关联。
示例:ASOC .reg
备注:可以关联的文件类型有:.ccs/.reg/.provxml/.xml。
CCUI
功能:CeleCommmand UI/显示 CeleCmd 程序主界面。
参数:无。
示例:CCUI
备注:
在程序界面中,可以交互式执行命令,还可以查看命令的执行结果。
不带参数执行 CeleCmd,默认将会执行此命令,显示程序主界面。
您也可以修改 CeleCmd.exe 的资源,把您的 CCS 文件脚本(必须是 UNICODE 格式,且最后一个字符必须是空字符)导入到 CeleCmd RCDATA 资源中,则 CeleCmd 默认将执行您的自定义命令。
HELP
功能:HELP information/显示帮助信息。
参数:无。
示例:HELP
备注:无。
更多详细请到作者主页查看!
Powered by Yonsm
Tencent QQ: 123018
MSN: Yonsm@msn.com
电邮: Yonsm@163.com
网站: WWW.Yonsm.NET
版权所有 (C) 2007 Yonsm.NET,保留所有权利
[ 本帖最后由 闪到腰 于 2008-11-7 14:53 编辑 ] |
|