CeleScript 使用说明
注意:此帮助文件未经仔细校对,可能有部分命令解释有误。若有谬错之处,敬请指正。
[简介] [特点] [安装]
[使用] [菜单] [命令] [问答]
[许可] [致谢]
一、简介
欢迎使用功能强大、灵活方便的 CeleScript 命令解释引擎。您只要编写简单的 CeleScript 命令文件,就能在 Windows 中实现灵活强大的批处理功能。
[目录]
二、特点
- 性能高效:命令解释引擎精巧构思,短小精干,运行迅速。
- 功能强大:内置支持多种命令,使用这些命令可以编写出功能强大的批处理脚本。
- 扩展支持:支持调用外部 EXE 和 DLL 函数。
- 使用灵活:支持格式统一的命令行参数和命令文件,可以在命令行、命令文件和程序界面中,调用 CeleScript 的各种功能。
- 其它功能:支持导入标准的和扩展的 Windows 注册表脚本脚本。
- 方便调试:在程序界面中执行命令或命令文件,可以在日志窗口中跟踪脚本执行的流程和结果,方面发现命令脚本的问题。
- 广泛支持:一个可执行文件,同时支持 Windows 2000/XP/2003/Vista,并且适用于 Windows XPE
中作为登录解释脚本引擎。
- 源码公开:源代码公开,方便更改定制和功能增强,且在源代码中增加扩展命令支持非常容易。
[目录]
三、安装
- 安装:绿色软件,直接运行 CeleScript.exe 即可使用。如果要关联 .csc 命令文件,可以在在程序中双击
CeleScript 的图标。
- 卸载:CeleScript 是“绿色”软件,删除 CeleScript.exe 即可卸载。如果选择了关联 .csc
命令文件,请在程序中再次双击 CeleScript 的图标取消文件关联。
[目录]
四、使用
- 使用方式
- 直接执行本程序,将显示允许输入命令和现实执行结果的对话框,您可以直接在程序界面上执行各种操作。
- 在命令行参数中使用,例如,要创建快捷方式,执行“CeleScript.exe LINK %M\程序\测试程序.lnk,%W\Test.exe”即可。
- 在命令文件中使用,例如,“CeleScript.exe LOAD C:\Test\*.csc”。
- 如果省略命令关键字,将自动判断参数,且支持通配符和子目录递归查找匹配文件(前导“!”)。如 CeleScript.exe %C\*.csc。CeleScript 将按以下规则解析执行:
- .inf:安装 INF 文件。
- .csc、.reg:执行 CeleScript 的 LOAD 命令。
- .dll、.ocx、.ax:执行 CeleScript 的 CDLL 命令。
- .exe、.com、bat、cmd:运行可执行文件和批处理文件。
- 命令格式
- CeleScript 的命令是一行字符串,以大写的四字符关键字开始,紧跟着的是空格或制表符,后面是命令的参数。
- 参数之间用逗号“,”分隔,如果在参数中要使用逗号本身,则需要使用“%,”的转义字符。
- 不同的命令的参数格式不一致,详细请参考 命令。
- 变量与宏
CeleScript 读取一条个命令文件后,首先展开其中用“%”号前导的宏:
- 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
- O 可能是 [User Name]\SendTo
- R 回车字符
- N 换行字符
- # 十六进制字符,后面紧跟这四个十六进制字符,如“%#FEFF”
- % 由于“%”用于宏转义,如果需要在参数中确实需要使用“%”本身,则需要用两个“%”代替,如“%1”要写成“%%1”。
- , CeleScript 把“,”作为参数分隔符,与“%”类似,如果在参数中需要使用“,”本身,则需要使用“%,”的形式。
- 命令文件
CeleScript 的命令文件是由 CeleScript 命令组成的命令集合。
- 每条命令单独一行。
- 命令文件中可以使用注释,注释必须单独一行,以“;”作为注释行开始。
- 命令文件支持 UNICODE 格式和 ASCII 格式,为了更高的执行效率,推荐使用 UNICODE 格式。
- 命令文件中可以杂合 Windows Registry Script 内容,CeleScript 会把 Registry Script
导入到注册表。但是使用这种方式必须十分小心,因为执行过程中,Registry Script 部分会被修改(仅在内存中),可能导致 CALL 和
GOTO 无法正常使用(使用原则:最新会被执行到的 Registry Script 放在文件最后的子过程中,这样就能避免问题)。
[目录]
五、界面
- 执行:执行命令。
- 关于:显示程序版本、版权和作者信息。
- 退出:退出 CeleScript 程序。
- 清除日志:单击 CeleScript 图标。
- 文件关联:双击 CeleScript 图标。
[目录]
六、命令
[LOAD] [BATC] [IFEX] [ELSE]
[CALL] [GOTO] [PROC] [ENDP]
[PLAY] [BEEP] [MSGX] [DLGX]
[LINK] [FILE] [REGX] [ENVI]
[SEND] [WAIT] [KILL] [SHUT]
[EXEC] [CDLL] [EVAL] [ASOC]
[CCUI]
- [LOAD
]<文件路径>
- 功能:LOAD script file/加载并解释命令脚本文件或注册表脚本文件。
- 参数:指定命令文件的路径。
- 示例:LOAD \ABC.csc
- 备注:
- 如果需要支持通配符和递归查找,请省略此关键字。
- 此命令可以执行 CeleScript 命令脚本或导入注册表脚本。
- 注册表脚本文件中,最后一行不会被处理,建议最后留一个空行。
- 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”扩展名。
目标路径:指定快捷方式的目标文件或目录。
运行参数:目标程序运行参数。
图标路径:快捷方式图标的路径。
图标索引:快捷方式图标的在文件资源中的标识。图表索引是该图标在所有图标中的顺序;或者用“-”前导,紧跟着图标的资源标识,如“-100”。
- 示例:LINK %S\电话,%W\CProg.exe,,ShellRes.dll,1024
- 备注:
前导“!”表示以最小化方式启动程序,可用于执行批处理文件时最小化命令窗口。前导“*”不检查目标是否有效,如果同时使用“!”,“*”必须在“!”之前。
- 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\CeleScript\#Test=%x
- 备注:此命令描述比较复杂,请耐心理解。
- ENVI [[#$]名称][=值]
- 功能:ENVIronment/设置或清除环境变量。
- 参数:指定环境变量名称和值。前导“$”表示设置系统级环境变量,否则仅设置本程序内部使用的环境变量。如果不指定值,则删除环境变量。如果不指定名称和值,则设置以下环境变量:
Favorites 收藏夹目录
Desktop 桌面目录
StartMenu 开始菜单目录
Startup 启动菜单目录
Programs 程序菜单目录
SendTo 发送到目录
Personal 我的文档目录
QuickLaunch 快速启动目录
- 示例:ENVI $
- 备注:如果使用“EXEC”执行的程序,会自动继承本程序的话境变量,换句话说,如果在命令文件中设置不带“$”的“ENVI”环境变量,对后面的“EXEC”程序中也会有效。
- 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 [R]
- 功能:SHUT down or reboot/关闭或重起设备。
- 参数:R 表示重新启动,默认为关机。
- 示例:SHUT
- 备注:在 XPE 中使用将直接关机,可能导致未保存的数据丢失。
- EXEC [=]<EXE
命令行>
- 功能:EXECute a program/执行 EXE 程序。
- 参数:指定 EXE 路径和参数。
- 示例:EXEC %W\System32\NET.exe START "ESET Service"
- 备注:
前导“!”表示隐藏窗口。
前导“@”表示在另外的控制台中执行,用于 XPE 后台登陆。
前导“=”表示等待执行完成。
前导“&”表示写入到自动运行的注册表项中执行。
- 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/显示帮助信息。
- 参数:指定要关联的文件类型,如果不指定,表示“CeleScript”类型。前导“!”表示删除文件关联。
- 示例:ASOC .reg
- 备注:可以关联的文件类型有:.csc/.reg。
- CCUI
- 功能:CeleCommmand UI/显示 CeleScript 程序主界面。
- 参数:无。
- 示例:CCUI
- 备注:
- 在程序界面中,可以交互式执行命令,还可以查看命令的执行结果。
- 不带参数执行 CeleScript,默认将会执行此命令,显示程序主界面。
- 您也可以修改 CeleScript.exe 的资源,把您的.csc 文件脚本(必须是 UNICODE 格式,且最后一个字符必须是空字符)导入到
CeleScript RCDATA 资源中,则 CeleScript 默认将执行您的自定义命令。
[目录]
七、问答
- 在 XPE 中,如何使用 CeleScript 作为登录解释引擎?
我也不知道。
[目录]
八、许可
- 本程序及其源代码是可以免费获取的。
- 如果您使用或修改了其中任何的源代码,则必须把使用这些源代码的项目以及项目内的所有源代码和文档公开。否则禁止使用本程序源代码的任何部分。
- 您可以复制、分发和传播无限制数量的软件产品,但您必须保证每一份复制、分发和传播都必须是完整和真实的,包括所有有关本软件产品的软件、电子文档,版权和商标宣言。
- 作者特此申明对本软件产品之使用不提供任何保证,不对任何用户保证本软件产品的适用性,不保证无故障产生;亦不对任何用户使用此软件所遭遇到的任何理论上的或实际上的损失承担
责任。
- 如果您使用本软件,即表示已经默认接受了此协议。
[目录]
九、致谢
[目录]
Powered by Yonsm
Tencent QQ: 123018
MSN: Yonsm@msn.com
电邮: Yonsm@163.com
网站: WWW.Yonsm.NET
版权所有 (C) 2006-2008 Yonsm.NET,保留所有权利