MortScript使用教程 下载本文

[技术] MortScript使用教程(4.3b11BETA版)

一、MortScript概述:

Mort:批量;Script:脚本;MortScript:批处理脚本;(故为顺序逐条执行)

它是一种解释程序,就象Visual Basic的即时解释环境一样。所以,它不生成EXE等可执行程序,而是由MortScript.exe来运行*.mscr或

*.mortrun的脚本文件。当然,如果进行了安装,或设置了文件关联,则可直接点击脚本文件运行。

二、mscr脚本概述:

*.mortrun格式为MortScript的前身MortRunner的兼容脚本。*.mscr格式可用任意文本编辑器来编写脚本,如windows自带的记事本,保存

格式推荐ANSI,当然,它还兼容UNICODE格式。文件名及内容均不区分大小写。

脚本里的空格、制表符、换行连接符:空格和制表占位符可放在命令、函数名、括号、参数、运算符、选项的前、后等位置,但均被忽略

,字符串中需要使用空格则应放在引号内。换行连接符采用\符,放置于所在行的行末。 未指定路径则默认当前脚本所在路径。注释行则是以#开头的行。在INI文件中,则使用;进行注释。

结束以:Exit,退出和结束脚本。

三、MortScript功能:

1、运行、激活,隐藏,关闭应用程序。

2、根据指定条件,执行或延时执行程序、脚本。

3、模拟键盘、鼠标、触笔操作。

4、复制、重命名、移动、删除文件或文件夹,创建文件夹,以及创建快捷方式。

5、支持ZIP格式压缩包。

6、读、写文本文件。

7、读、改注册表。

8、下载、创建、关闭链接。

9、做判断、循环操作。

10、部分系统的旋屏、音量、背光、重启操作。

四、MortScript安装包结构解读:

pc:分别适用WM、CE、SP、win2000、XP、vista系统设备绿色使用。

setup:分别适用WM、CE、SP系统设备,通过PC连接设备同步安装。

cab:分别适用WM、CE、SP系统设备直接安装。

killproc.exe:CE系统结束进程用。不用此功能时,可以不要该文件。

mortzip.dll:除PC系统外适用,用于ZIP压缩包的解压支持文件。

setup.dll:除PC系统外适用,用于CAB包安装、卸载信息记录。

此二个DLL文件,如不使用上述二个功能时,可以不要。

另:适用CE系统的版本,基本兼容适用WM系统。

Autorun.exe:运行该程序,执行同名.mscr脚本,该程序可改名。不改名可放在2577或0文件夹,而得以在拨、插储存卡时支持自动运行(插

卡时执行autorun.mscr,拨卡时执行autoexit.mscr,老程序则为:autorun.mortrun和

autoexit.mortrun),当然,并不是所有设备都支持该

功能。且该程序需要MortScript.exe主程序支持。

五、一个PPC独有的可选参数:

/wait=n

n为一个以秒为单位的数字,除此外的所有类似于此的表达式均为变量的定义表达,当然,所有其他参数也不会以/或-开始。该功能用于如关

联了PPC按键,但在PPC唤醒时段不能执行脚本时候的延时辅助。不过,MortScript已默认5秒延时。

六、帮助手册PDF里的命令语法样式说明:

粗体字:命令、函数名、关键字。

斜体字:变量,常用表达式。

[]:中括号为可选项(即可省略项)。

{}:花括号为可多选项或省略项。

():分组,经常用|符来列出可选项。注:函数不能省略括号,命令可以省略。如:message("你好!")和message"你好!"

X|Y|Z:必选其中一个选项,常为定值选择。

七、常用语法:

关键字:

"XXX"

注:引号在字符串里的引用,需要双层使用。

^CR^:回车;^LF^:换行;^NL^:换行;^TAB^:制表符。(^CR^^LF^=^NL^) 字符串表达式:

value=Eval(string)

常数:

3.1415926

变量:

X=表达式

Set(variable,expression)

变量名由:字母、数字(不能以数字打头)、下划线组成,且不区分大小写。

X+=1相当于x=x+1;类似的双目运算符还有:-=、*=、/=、&=、\=。

预定义变量:

TRUE,ON,YES:初始值为1;

FALSE,OFF,NO:初始值为0;

CANCEL:初始值为2;

PI:3.14159266535897932384626433832759

SQRT2:1.4......

PHI:1.6......

EULER:2.7......

全局变量:Global(variable{,variable})

局部变量:Local([variable{,variable}])

数组array[]:实质一种特殊类型的变量。数组名和元素名也是不区别大小写的。

Clear(variable)

检验变量:

bool=IsEmpty(variable)

返回变量类型:

int=VarType(variable)

返回值列表:var_empty;var_int;var_float;var_string;var_array;var_window。 函数:

函数名(参数)

运算符:(按由高到低优先级列表)

()

NOT

^

*,/,MOD

+,-

&,\

>,>=,<,<=,=,<>

gt,ge,lt,le,eq,ne

condition?true:false

AND,&&

OR,||

八、流程控制语句:

1、条件判断控制:

If (wndExists("Word"))

EndIf

While (X<>5)

EndWhile

If (表达式)

{语句}

{ElseIf (表达式)

{语句}}

[Else

{语句}]

EndIf

2、多重分支控制:

Switch (表达式)

Case(参数 {,参数})

{指令}

{Case(参数{,参数})

{指令}}

{Default

{指令}}

EndSwitch

(

Choice(title,hint,value,value{,value})

Choice(title,hint,array)

ChoiceDefault(title,hint,default,timeout,value,value{,value}) )

Case(value{,value})

{instructions}

{Case(value{,value})

{instructions}}

{Default

{instructions}}

EndChoice

示例:

choice("Test","select a number","one","two","three") case(1)

message("one")

case(2,3)

message("two or three")

case(3)

message("three")

case(0)

message("cancel")

exit

endchoice

3、条件循环控制:

while(条件)

{表达式}

endwhile

4、迭代循环:

ForEach variable{,variable}in type(parameter{,parameter}) {instructions}

endforeach

ForEach variable in values (value {,value})

ForEach variable in array (array variable)

ForEach key, value in array (array variable)

ForEach variable in split (string,separator,trim?)

ForEach variable in Charsof (string)

ForEach variable in iniSections (file name [,codepage])

ForEach key,value in iniKeys (file name,section[,codepage]) ForEach variable in regSubkeys (root,key)

ForEach value,date in regValues (root,key)

ForEach variable in files (search expression)

ForEach variable in directories (search expression)