爱技术

 找回密码
 注册会员

QQ登录

只需一步,快速开始

微信登录

微信扫一扫,快速登录

搜索
查看: 1972|回复: 8
收起左侧

CeleCmd - 功能强大、灵活易用的 Windows Mobile 批处理解释引擎

[复制链接]
发表于 2008-11-7 14:52:02 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有帐号?注册会员 微信登录

x
欢迎使用功能强大、灵活方便的 CeleCmd 命令解释引擎。您只要编写简单的 CeleCmd 命令文件,就能在 Windows Mobile 中实现灵活强大的批处理功能。

CeleCmd.1.6.360.zip

66.55 KB, 下载次数: 16

绿色版

CeleCmd.rar

54.74 KB, 下载次数: 9

OEM

评分

参与人数 1实力分 +1 金钱数 +168 技术分 +5 贡献分 +5 收起 理由
beyondpara + 1 + 168 + 5 + 5 谢谢分享

查看全部评分

 楼主| 发表于 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 编辑 ]
  • 回复 支持 反对

    使用道具 举报

    发表于 2008-11-7 15:08:25 | 显示全部楼层
    高深的玩意 帮顶了
    回复 支持 反对

    使用道具 举报

     楼主| 发表于 2008-11-8 21:34:31 | 显示全部楼层
    一个很好很强大的软件,很爽
    回复 支持 反对

    使用道具 举报

    发表于 2008-11-25 13:42:41 | 显示全部楼层
    以前用sp的时候,我都是用xbar这个软件编辑宏命令。ppc看来功能更强了。
    回复 支持 反对

    使用道具 举报

    发表于 2008-12-1 01:21:25 | 显示全部楼层
    哈哈,是原创不?是的话能顺便帮写个mortscript的教程不?那个比这个实用多了…只是e文看的累啊…
    回复 支持 反对

    使用道具 举报

     楼主| 发表于 2008-12-1 17:16:41 | 显示全部楼层
    不喜欢mortscript,还是CELECMD强大
    回复 支持 反对

    使用道具 举报

    发表于 2008-12-22 21:45:39 | 显示全部楼层

    回复 5# chx671 的帖子

    SP也可以用cmd  
    这个对绿色软件的发放比较爽
    回复 支持 反对

    使用道具 举报

    发表于 2009-1-19 14:22:32 | 显示全部楼层
    收下,谢谢
    回复 支持 反对

    使用道具 举报

    您需要登录后才可以回帖 登录 | 注册会员 微信登录

    本版积分规则

    小黑屋|Archiver|手机版|爱技术 ( 沪ICP备08115260号-3 )

    GMT+8, 2024-5-20 00:25

    Powered by Discuz! X3.4 Licensed

    Copyright © 2001-2020, Tencent Cloud.

    快速回复 返回顶部 返回列表