|

楼主 |
发表于 2008-8-7 11:46:07
|
显示全部楼层
回复 #1 lwf8888 的帖子
[HELP.BEGIN]
/********************************************************感谢**********************************************************
1、感谢 Yonsm 和 Qinjg8008 的代码帮助解决了 PAGE 设置的问题(最后一个参数类型应为 LARGE_INTEGER)
2、感谢 Lxl1638 的代码帮助解决了 FBWF 设置的问题(可以彻底抛弃 RamDisk 了),以及提供的PELOGON工具。
3、感谢老毛桃制作的 WINPE,陌上风制作的启动界面
4、感谢 BBS.WUYOU.COM 提供的论坛
********************************************************注释**********************************************************
1、行注释符号://,可以在语句后的任意位置。
2、块注释符号:/*...*/,/*必须在行首,* /可以在行首,也可以在行尾。
3、允许嵌套使用。
********************************************************命令**********************************************************
1、统一格式: 命令 [控制] 参数 命令 参数[,控制]
2、命令分割符:空格,逗号,前导符。
3、命令组分割符:|(中文全角),程序流程控制命令(GOTO除外)和MACRO宏语句引用,必须单行书写。
4、所有命令和关键字可以写全称,也可以按约定俗成的缩写书写,MSDOS命令和缩写与系统一致。
******************************************************作用范围********************************************************
1、环境变量的作用范围:系统型,程序型(默认)
┌─────────┬────┬───────────────┐
│ 定义 │ 引用 │ 说明 │
├─────────┼────┼───────────────┤
│ ENV $名称=数据 │%名称%│系统环境变量,程序退出后也有效│
│ ENV 名称=数据 │%名称%│程序环境变量,程序退出后失效 │
└─────────┴────┴───────────────┘
2、宏的作用范围:程序型,文件型,过程型(默认)
┌──────────┬─────────────┬────────────────────────┐
│ 定义 │ 引用 │ 说明 │
├──────────┼─────────────┼────────────────────────┤
│ DEFINE $名称=数据 │[MACRO] {宏}表达式 [,参数]│程序宏,在程序内部有效,各个文件,过程都可以使用│
│ DEFINE !名称=数据 │[MACRO] {宏}表达式 [,参数]│文件宏,在文件内部有效,各个过程都可以使用 │
│ DEFINE 名称=数据 │[MACRO] {宏}表达式 [,参数]│过程宏,只在过程内有效 │
└──────────┴─────────────┴────────────────────────┘
引用顺序:过程宏→文件宏→程序宏
3、过程的作用范围:公共型,私有型
┌──────┬──────────────┬───────────────────────────────┐
│ 定义 │ 引用 │ 说明 │
├──────┼──────────────┼───────────────────────────────┤
│[过程.BEGIN]│LOAD [过程] [文件名] [,参数] │公共型,可以通过程序调用,也可以通过文件快捷菜单调用。快捷菜单│
│[过程.END] │ │默认自动调用AUTORUN过程 │
├──────┼──────────────┼───────────────────────────────┤
│ SUB 过程 │LOAD [过程] [文件名] [,参数] │私有型,只能通过程序调用 │
│ END 过程 │ │ │
└──────┴──────────────┴───────────────────────────────┘
*****************************************************格式表达式*******************************************************
1、定义(支持中文)
┌────┬─────┬────┐
│ 定义 │ 说明 │十六进制│
├────┼─────┼────┤
│\\n │ 换行 │\\0D\\0A│
│\\t │ 水平制表 │\\09 │
│\\s │ 空格 │\\20 │
│\\c │ 逗号 │\\2C │
│\\空格 │ 空格 │\\20 │
│\\| │ | │\\A3FC │
│\\/ │ // │\\2F\\2F│
│\\HHHH │ 0000-FFFF │ │
└────┴─────┴────┘
*****************************************************比较表达式*******************************************************
>,>=,<,<=,=(==),<>(!=)
*****************************************************算术表达式*******************************************************
1、优先级
[] 括号
*,%,\ 乘,整除,取余
+,- 加,减
<,> 左移,右移
& 与
| 或
^ 异或
2、十六进制 &H
3、精度 Long
***************************************************简单算术表达式*****************************************************
1、优先级
+,-,*,%,/,\,^,<,>
2、精度 Double
*****************************************************条件表达式*******************************************************
语法: [NOT] 比较表达式
说明: 比较表达式是否成立,表达式可以包含%环境变量%和{宏}
语法: [NOT] DEFINE [$|#]宏名称:
说明: 是否定义[系统|文件|过程]宏
语法: [NOT] EXIST #PID|[ * ]@EXE文件|[ * ]\窗口标题|[ * ]进程名|驱动器|目录|文件
说明: 是否存在PID,EXE文件进程,窗口,进程,驱动器,目录,文件
*号用于模糊查找EXE文件,窗口标题,进程名。驱动器,目录,文件的模糊使用?和*
语法: [NOT] AND|OR|XOR (条件表达式列表)
说明: 无
*****************************************************结构化控制*******************************************************
语句都支持嵌套
语法: GOTO [[条件表达式?]条件真目标地址[,条件假目标地址]] 地址:[[:]标号]±偏移
说明: BOF:程序开始,EOF:程序结尾,BOL:命令组开始,EOL:命令组结束
语法: IF 条件表达式 THEN IF 条件表达式 THEN
语句组 语句组
ELSE ENDIF
语句组
ENDIF
语法: DO WHILE 条件表达式 DO
语句组 语句组
BREAK DO BREAK DO
LOOP LOOP WHILE 条件表达式
语法: FOR 宏=起始值 TO 结束值 [STEP 步长] FOR EACH 宏 IN 列表数据
语句组 语句组
BREAK FOR BREAK FOR
NEXT NEXT
语法: SUB 过程 [过程.BEGIN]
PARAM 参数[,参数] PARAM 参数[,参数]
语句组 语句组
RETURN 参数[,参数] RETURN 参数[,参数]
EXIT SUB EXIT SUB
END 过程 [过程.END]
语法: LOAD [[过程名.]子过程名] [文件名] [,参数]
说明: 默认过程:AUTORUN,默认文件:%CURFILE%
语法: RESULT 参数[,参数]
说明: 获取结果
********************************************************函数**********************************************************
详见 VBSCRIPT,这里只列出名称和参数
1、系统函数:
语法: MSGBOX|MESSAGEBOX 格式化提示[,[@标题][$默认][=等待秒][#类型]]
函数: MSGBOX|MESSAGEBOX(格式化提示[,[@标题][$默认][=等待秒][#类型]])
说明: 默认:YES|NO,类型:YESNO|OK
返回:YES|NO
函数: INPUT[BOX](格式化提示[,[@标题][$默认][=等待秒]])
说明: 无
语法: WAIT[KEY] [格式化提示][,[$默认][=等待秒]]
函数: WAIT[KEY]([格式化提示][,[$默认][=等待秒]])
说明: 返回:HHLL,HH:Ctrl,Alt,Shift状态,LL:ASCII码
ShiftMask:1,CtrlMask:2,AltMask:4
函数: BROWSE[FOLDER](格式化提示[,[@标题][$默认][=等待秒][ * ][!根目录|CSIDL_*]])
说明: *:选择文件
CSIDL_:DESKTOP,PROGRAMS,PERSONAL,FAVORITES,STARTUP,RECENT,SENDTO,STARTMENU,MYMUSIC,MYVIDEO,NETHOOD,FONTS,
DESKTOPDIRECTORY,TEMPLATES,COMMON_STARTMENU,COMMON_PROGRAMS,COMMON_STARTUP,COMMON_DESKTOPDIRECTORY,APPDATA,
PRINTHOOD,LOCAL_APPDATA,COMMON_FAVORITES,INTERNET_CACHE,COOKIES,HISTORY,COMMON_APPDATA,WINDOWS,SYSTEM,
PROGRAM_FILES,MYPICTURES,PROFILE,SYSTEM32,PROGRAM_FILES_COMMON,COMMON_TEMPLATES,COMMON_DOCUMENTS,
COMMON_ADMINTOOLS,COMMON_MUSIC,COMMON_PICTURES,COMMON_VIDEO,RESOURCES,CDBURN_AREA
2、时间函数:
DATE()
NOW()
TIME()
TIMER()
DATEADD(INTERVAL,NUMBER,DATE)
DATEDIFF(INTERVA,DATE1,DATE2)
DATEPART(INTERVAL,DATE)
DATESERIAL(YEAR,MONTH,DAY)
DATEVALUE(DATE)
DAY(DATE)
HOUR(TIME)
MINUTE(TIME)
MONTH(DATE)
SECOND(TIME)
TIMESERIAL(HOUR,MINUTE,SECOND)
TIMEVALUE(TIME)
WEEKDAY(DATE)
YEAR(DATE)
MONTHNAME(MONTH)
WEEKDAYNAME(WEEKDAY)
3、数学函数
ABS(NUMBER)
ATN(NUMBER)
COS(NUMBER)
EXP(NUMBER)
LOG(NUMBER)
RND(NUMBER)
ROUND(NUMBER,NUMDIGITSAFTERDECIMAL)
SGN(NUMBER)
SIN(NUMBER)
SQR(NUMBER)
TAN(NUMBER)
4、字符串函数:
ASC(STRING)
CHR(CHARCODE)
FORMAT(EXPRESSION,FORMAT)
FORMATCURRENCY(EXPRESSION,NUMDIGITSAFTERDECIMAL,INCLUDELEADINGDIGIT,USEPARENSFORNEGATIVENUMBERS,GROUPDIGITS)
FORMATDATETIME(EXPRESSION,NAMEDFORMAT)
FORMATNUMBER(EXPRESSION,NUMDIGITSAFTERDECIMAL,INCLUDELEADINGDIGIT,USEPARENSFORNEGATIVENUMBERS,GROUPDIGITS)
FORMATPERCENT(EXPRESSION,NUMDIGITSAFTERDECIMAL,INCLUDELEADINGDIGIT,USEPARENSFORNEGATIVENUMBERS,GROUPDIGITS)
INSTR(START,STRING1,STRING2,COMPARE)
INSTRREV(STRINGCHECK,STRINGMATCH,START,COMPARE)
LCASE(STRING)
LEFT(STRING,LENGTH)
LEN(EXPRESSION)
LTRIM(STRING)
MID(STRING,START[,LENGTH])
REPLACE(EXPRESSION,FIND,REPLACE,START,COUNT,COMPARE)
RIGHT(STRING,LENGTH)
RTRIM(STRING)
SPACE(NUMBER)
STRCOMP(STRING1,STRING2,COMPARE)
STRING(NUMBER,CHARACTER)
STRREVERSE(EXPRESSION)
TRIM(STRING)
UCASE(STRING)
5、扩展函数:
CSIDL[PATH]([CSIDL_*]) CSIDL路径
CALC[ULATE](简单算术表达式) 计算
EVAL[UATE](算术表达式) 计算
REG[ISTRY](根,键[,子键]) 注册表
INI[FILE](文件,小节[,键]) 配置文件
TXT[FILE](文件[,行号]) 文本文件
DIR[FILE](路径,是否完整路径) 列表文件
LIST[DRIVER](MEMORY|UDISK|CDROM|HARDDISK|RAMDISK|ALL) 列表驱动器
FREE[SIZE](MEMORY|UDISK|CDROM|HARDDISK|RAMDISK|A ... Z) 可用空间
TOTAL[SIZE]](MEMORY|UDISK|CDROM|HARDDISK|RAMDISK|A ... Z) 总空间
JOIN(列表参数) 生成列表
WORDS(列表表达式,索引号) 取列表项目
**********************************************************************************************************************
语法: LOG [[#][ * ]文件路径]
说明: #:非缓冲模式,*:添加模式,省略文件名表示清理
**********************************************************************************************************************
语法: OPT[ION] 配置名=设置
说明: 详见 BOOTWIZ.INI 的说明
**********************************************************************************************************************
语法: DEFINE [$|!]*|宏名称=[数据]
说明: $:系统宏,!:程序宏,默认:过程宏,*:所有宏
省略数据表示删除,参数用%1%,%2%...依次表示。支持嵌套
**********************************************************************************************************************
语法: MACRO 包含{宏}的语句 [,参数]
说明: {}:宏引用。作为命令使用,和带参数引用,必须加MACRO
**********************************************************************************************************************
语法: LET [$|!]宏名称[+-*%/\^<> $]=[数据][[!]函数(参数)]
说明: $,!:与DEFINE相同,+-*%/\^<>:简单算术表达式,$:字符串连接,!:外部函数
省略数据和函数表示删除,函数:支持连接,不支持嵌套,详见各个函数说明
**********************************************************************************************************************
语法: LOGO [ * ]文件名[,背景颜色][,显示方式][,透明方式,透明颜色|光栅格式]
说明: *:删除原数据,显示方式:CENTER,TILE,STRETCH, 背景颜色:RRGGBB或系统颜色,透明方式:TRUE,FALSE
系统颜色:3DDKSHADOW,3DFACE,3DHIGHLIGHT,3DLIGHT,3DSHADOW,ACTIVEBORDER,ACTIVETITLEBAR,ACTIVETITLEBARTEXT
APPLICATIONWORKSPACE,BUTTONFACE,BUTTONSHADOW,BUTTONTEXT,DESKTOP,GRAYTEXT,HIGHLIGHT,HIGHLIGHTTEXT,INFOTEXT,
INACTIVEBORDER,INACTIVECAPTIONTEXT,INACTIVETITLEBAR,INACTIVETITLEBARTEXT,INFOBACKGROUND,MENUBAR,MENUTEXT,
SCROLLBARS,TITLEBARTEXT,WINDOWBACKGROUND,WINDOWFRAME,WINDOWTEXT
光栅格式:BLACKNESS,DSTINVERT,MERGECOPY,MERGEPAINT,NOTSRCCOPY,NOTSRCERASE,PATCOPY,PATINVERT,PATPAINT,
SRCAND,SRCCOPY,SRCERASE,SRCINVERT,SRCPAINT,WHITENESS
**********************************************************************************************************************
语法: STATUS [=等待毫秒][#颜色][L左][T上][R右][B下][$字体大小[ H ][ U ][ I ][ S ]][@对齐方式][ * ][格式化提示]
说明: #:RRGGBB或系统颜色,L:左,T:上,R:右,B:下,H:黑体,U:下划线,I:斜体,S:删除线,*:保留原数据
对齐方式:LEFT,RIGHT,CENTER
**********************************************************************************************************************
语法: ENV[IRONMENT] [$][*|名称=[格式化数据]]
说明: $:系统环境变量,*:所有环境变量
省略数据表示删除。ENV[IRONMENT] :刷新,ENV[IRONMENT] $:取系统路径
**********************************************************************************************************************
语法: TMP|TEMP [目录]
说明: 省略参数表示删除
**********************************************************************************************************************
语法: FBWF [P可用内存百分数][L最小值][H最大值]
说明: 无
**********************************************************************************************************************
详见 MSDOS,这里只列出名称和参数
1、文件操作:
COPY SOURCE DESTINATION
DEL/ERASE DESTINATION
MOVE SOURCE DESTINATION
RENAME/REN SOURCE DESTINATION
2、目录操作
CHDIR/CD [PATH|FILE] 说明:省略参数表示恢复
MKDIR/MD PATH
RMDIR/RD PATH
DELTREE PATH
**********************************************************************************************************************
语法: CALL[DLL] $DLL名[,函数][,格式化参数][,格式化参数]...
说明: 默认调用 DllRegisterServer
**********************************************************************************************************************
语法: INIT[IALIZE] [ I ][ K ]
说明: I:系统提示区图标,K:Ctrl+Alt+Del钩子
**********************************************************************************************************************
语法: WALL[PAPER] [[!显示方式]文件名]
说明: 显示 方式:CENTER,TILE,STRETCH
**********************************************************************************************************************
语法: REG[ISTRY] $文件名|注册表根键\子项名\[键值名]=[!|[数据类型:]格式化数据]
说明: $:导入文件。默认类型:REG_SZ
=:删除数据,=!:删除子项
数据类型:REG_SZ,REG_EXPAND_SZ,REG_BINARY,REG_DWORD,REG_DWORD_LITTLE_ENDIAN,REG_DWORD_BIG_ENDIAN
REG_MULTI_SZ,REG_LINK,REG_RESOURCE_LIST,REG_FULL_RESOURCE_DESCRIPTOR,REG_RESOURCE_REQUIREMENTS_LIST
REG_QWORD,REG_QWORD_LITTLE_ENDIAN
**********************************************************************************************************************
语法: SERVICE [=等待毫秒][!]服务名称|@显示名称
说明: !:停止服务
**********************************************************************************************************************
语法: KILL #PID|[ * ]@EXE文件|\窗口标题|进程名
说明: *:模糊查找
**********************************************************************************************************************
语法: EXIT
说明: 无
**********************************************************************************************************************
语法: PAGE[FILE] 文件名 最小值 [最大值]
说明: 文件只能在根目录
**********************************************************************************************************************
语法: EXEC[UTE] [=等待毫秒[@]][#启动方式]文件名[格式化参数]
说明: 等待时间:>0:等待,0:不等待,<0:无限等待,@:自动关闭
启动方式:HIDE,NORMAL,MIN,MAX,NORMALNOFOCUS,MINIMIZEDNOFOCUS
**********************************************************************************************************************
语法: SHELL [加密字符串,]文件名
说明: 无
**********************************************************************************************************************
语法: LINK 快捷方式路径,目标路径[,起始位置][,格式化参数][,图标路径[#索引]][,运行方式][,快捷键][,格式化目标备注]
说明: 运行方式:SHOWNORMAL(NORMAL),SHOWMINIMIZE(MIN),SHOWMAXIMIZE(MAX)
快捷键:[CTRL+][ALT+][SHIFT+]HH(十六进制)
******************************************************************************************************************/
[HELP.END]
以下图片看不清可以重开一个窗口察看。
效果演示: 在虚拟机中测试,BIOS无信息。

启动脚本:

[ 本帖最后由 lwf8888 于 2008-8-15 00:30 编辑 ] |
|