| 
 | 
请问Wbat是什么啊?
:版权 
 WBAT- Copyright (c)1999-2003, Horst Schaeffer- horst.schaeffer@gmx.net^ 
: 
:Start 
#                       WBAT 对话盒工具                            ^ 
 WBAT 是一个在DOS中模拟 Windows 界面的对话框的一个批处理工具 
 。 当然 WBAT 也运行在纯 DOS 模式下工作。 
 
 功能: 
 + 用“按钮(buttons),输入栏(input fields),菜单(menus),检查框(checkboxes),单选框(radio buttons)”来布局对话框--所有的元件可能是自由地安排 
 + “Quick Box”由于指令行的规格 
 + “List box”用于选择在批处理中产生的选项 
 + “Text”文本输出;“fill”填充屏幕区域,,清屏(clear),颜色(color) 
 +  规定“字型(font)”和自定义颜色“调色板(palettes)” 
 + “INI 文件(s)”用于默认值和偏爱设置 
: 
: 主菜单 " WBAT- Dialog Boxes for DOS " [x] 
 [WBAT & Tour ] 关于所有的 WBAT 功能的资讯 
 -------------------------------------------------------------- 
 [Setup       ] 为你自己的 WBAT 应用程序做好准备 
 -------------------------------------------------------------- 
 [Layouts     ] 布局设计对话框,菜单,本文 
 -------------------------------------------------------------- 
 [Commands    ] 指令明细对于你的整批文件 
 -------------------------------------------------------------- 
 [C & ontrol  ] 批处理控制: 出错码(errorlevel) 和变量(variables) 
 -------------------------------------------------------------- 
 [处理        ] 使用者的鼠标和键盘 
 -------------------------------------------------[ 退出(exit) ] 
: 
:tour-menu " WBAT 浏览 "[x] 
[ Quick box&     ] 
[ Box layout&    ] 
[ Buttons, Menu& ] 
[ Input fields&  ] 
[ Checkboxes&    ] 
[ Radio buttons& ] 
[ List box&      ] 
------------------ 
[ Text display&  ] 
[ Fill, CLS&     ] 
[ Cursor&        ] 
[ Screen save&   ] 
[ Font, &Palette& ] 
[ ANSI?&         ] 
[ STDOUT&        ] 
------------------ 
[--- & END ---   ] 
:: 
:tour-info 
“WBAT Tour”将告知你所有的 WBAT 功能而不是很详细的研究。 
 
 
在你开始前请注意下面的问题: 
* 按“ESC”键或单击右上角的“[x]”按钮(当可用时)将关闭当前对话框; 
* 在当前对话框范围外单击鼠标右键也将关闭当前对话框(除非这一功能没有激活); 
* 要w移动一个对话框,可在对话框的上部按住鼠标键拖曳它。 
 
:Quick-box 
#                       Quick box                                       ^ 
让我们从一个非常简单的命令开始学习: 
        wbat box OK 
这是一个暂停的复位按钮, 提示用户继续。 
在默认状况下,所有的对话框都放置在屏幕中央。 
:: 
:Quick-pos 
你也许希望可在屏幕的任何地方放置你的对话框。 
对话框左上角的行、列坐标可以被定义: 
        wbat box 20,60 continue 
如果对话框超出屏幕边缘,没关系,WBAT 会自动改正位置。 
如果对话框碰巧遮住你要阅读的内容,你可用拖曳功能移开对话框。 
:: 
:Quick-choice 
#                       Quick choice                                    ^ 
现在指定超过一个选项,而且有单一的选择: 
        wbat box 21,40 continue,back,tour menu 
选项之间必须用“,”分开。在选项里容许用空格。 
你可以使用热键进行选择 (默认是第一个字符,在这个DEMO里用红色标记). 关于热键的更多信息请参阅“Layouts”。 
在批处理文件中,处理用户的输入的方式与用“CHOICE”的一样,通过出错码(errorlevel)(1 对应于第一个选项,2 对应于第二个选项经,等等) 
例: 
        if errorlevel 3 goto TOUR-MENU 
        if errorlevel 2 goto T-quick 
        rem "continue" here 
! 记住:在用 GOTO 测试出错码时必须降序排列errorlevels。 
:: 
:Quick-prompt 
#                    提示文字和颜色                              ^ 
一个可选的提示文字可以包含在双引号里,并放置于按钮选项的前面。 
例子:  wbat box 19,55 "Continue Tour?" ok,back 
你甚至可以使用多行本文:只须在提示文本中插入一个脱字符号 (^) 作为分行标记。 
 
提示框的颜色(box color) 可在圆刮号中被指定 (默认值颜色在 WBAT.INI 被定义)。 
格式是:(提示文本颜色 on 提示框背景颜色) 
例子:  wbat box 19,55 (blue on light brown) "Continue Tour?" ok,back 
 
关于彩色的语句和更多的对话框选项(选项的边框形式(item pre-set)及时间超出(time-out)),请参见“main menu”中的“Commands”。 
:: 
:box-layout 
#                       对话框布局                                      ^ 
如果你需要更多的功能,你就需要布局(layout)以便你能自由地安排本文和控件的位置: 
        * 按钮(buttons)或菜单项目(menu items) 
        * 输入区域(input fields) 
        * 检查框(checkboxes) 
        * 单选按钮(radio buttons) 
在布局中,所有的控件被[]括起来。 
见下一页的例子。 
一般的命令格式是:  WBAT box @layout.txt:label 
所有对话框的命令选项是: 
方格位置(box position),颜色(color),初始化选择条位置(initial bar position),超时(time-out)。 见“Commands”(主菜单)。 
:: 
:box-example 
#                       对话框布局例子                              ^ 
这里举一个布局的例子。 
注意: 
对话框总是出现; 
那意谓: 当对话框关闭时,背景已经被保存下来。 
然而, 一个特别的 " fix " 选项可用于关闭对话框后返回屏幕。 
:: 
:box-exm " 例子 "[x] 
 请输入你的名字和城市(Please enter your name and city ^ 
 名字: [$名字,40              ] 
 城市: [$城市                 ] 
 [.] 男 [.]女 
 [!] 超过 21 
         [    OK    ] [ cancel ] 
:: 
:box-lref 
#                       布局参考                                ^ 
在一个文本文件(text file)里,你能有多个布局。每个布局单元都有标签(label)识别, 像在批处理文件中一样。 
一个布局单元的结束是在一行的开始用冒号(:),, 通常是下一个标签。 
在你的 WBAT 命令中,你用文件名和标签来布局: 
     * 文件名前面用“@”标记    e.g.  @dialog.txt 
     * 标签前用“:”标示        e.g.  :START 
例子:     wbat BOX @dialog.txt:start 
然而,在大多数情况下,你可以省略文件名,因为WBAT提供了一个简易的方法来使用默认的文件。 
另一个方法是在批处理文件中有布局,并且简单地用 “@%%0:label” 
详情请参阅“Commands/Layout Reference” 
:: 
 
:box-other 
#                       对话框布局                                      ^ 
 
其他布局功能: 
  *     “变量(Variables)”可用于布局, 像在批处理文件中 
  *     可以定义对话框的标题 (用不同的颜色显示) 
  *     右上角的 [x] 是可选的,用于取消或退出 
  *     不同颜色的“分割线”(Divider lines) 
 
详见“Layouts”部分 
控件在下面的章节中也有描述。 
: 
:bottons 
#                   对话框布局中的按钮(bottons)                               ^ 
[]号中带有选项文字的按钮可放置于对话框中的任何位置。 
例子:        [ ok ] [ cancel ] 
用鼠标单击按钮或在高亮的按钮上按下“Enter”键,将关闭对话框,返回一个按钮的出错码。可选的,通过变量来命名。 
选项文本不能以 “$”或“!”开始, 
因为这些符号被保留用于识别其他的控件。 
特别的:“?”用于标识“ESC”按钮,与键盘上的“ESC”键有一样的功能,而问号不会显示。 
例子:        [ ok ][? cancel ] 
在这情况下,“cancel”按钮返回的出错码不是“2”,而是100,就和其他的ESCAPE动作一样。 
errorlevel 2, 但是 100,关于任何其他的逃亡行动。 
详情请参阅“Control / ESC Handling”。 
:: 
:buttons - menu [x] 
[menu       ] 
[ errorlevel] 
[ variables ] 
: 
:buttons-menu 
#                       Menu box                                        ^ 
“菜单”只是垂直排列的按钮 ( 在一列或多列)。然而, 在一个对话框中按钮通常用不同的颜色显示,灰色的是这个演示的按钮.(按钮颜色在 WBAT.INI 被定义) 
如果你需要一个没有可见按钮(意为没有按钮背景,移到该位置时才亮显)的一个菜单 ( 象下面的例子), 就要使用 “menu” 指令代替 “box”。 处理方法是相同的。 
例:       WBAT menu @layout.txt:label 
你可以用详细的菜单选项来作一个大的对话框,或者用简单的关键字来做一个简单的对话框。 
例子:(对于在这页上的画面) 
~ 
        :button-menu [x] 
        [ menu      ] 
        [ errorlevel] 
        [ variables ] 
        :~ 
你可以插入空行,或添加文字。 
另外,象标题、[x] 框, 分割线 
请参见主菜单中的“Layouts” 。 
: 
:buttons-errorlevel 
#               根据 errorlevel 选择 按钮/项目                      ^ 
在你的批处理文件中,你能通过返回的 errorlevel 来处理用户的选择,就如使用“Choice” 命令一样(记住用降序排列检查 errorlevels!) 
例子: 
        wbat menu :button-menu 
        if errorlevel 100 goto Main           (捕捉 ESC/[x]) 
        if errorlevel 3 goto B-variables 
        if errorlevel 2 goto B-errorlevel 
        rem here is errorlevel 1 
        :B-menu 
注意:每个 errorlevel 值都有唯一的按钮对应,以防在你的布局里有 
其他的控件。 
关于详细的信息,包括 ESC 处理,请参见“Control”部分。 
:: 
:buttons-variables 
#                       处理用户输入                             ^ 
被选的按钮也能被以“名字”的方式返回值, 并分配给变量“WBAT”,默认值被赋给在菜单选项中选的(第一个)字。 
简单的 “GOTO%%WBAT%%” 可以跳转到用选项命名的标签行。 
注意: WBAT 只产生环境变量... 
  这时用命令      call W.bat ...... 
  来替代          WBAT...... 
这种特殊的结构在Windows NT/2000下运行的很好,在Windows版本下运行很安全(只要DOS模式支持) 
关于变量的更详细的信息请参见“Control”部分。 
:: 
:input 
#                  对话框的输入栏                            ^ 
输入栏用 “$”标记,并在$后面跟一个变量名,并将返回输入字串的字符串。 
例子:       [$ city         ] 
输入字符串的长度由[]括号所包含的的空间决定。 
不同的长度 (更长或更短) 可以被指定,也可定义附加的选择项: 
        U  强迫大写 
        P  密码输入模式 
        !  必须输入 (除非方格被 ESC 关闭) 
例子:       [$ name,40,U!   ]  
如果输入长度超过可见栏位大小,如果有需要的话字符串将会被替换。 
注意:只做一个(没有按钮的)输入栏也是可以的。在这种情况下,按回车键将关闭对话框。 
:: 
:input-var 
#                       输入变量                                  ^ 
 
为了处理输入,你必须告诉 WBAT 返回的变量, 使用下面的语句: 
               CALL W.BAT box .... 
详情请见 Control 部分。 
在对话框被显示之前,你可分配一个词首字母/默认值字符串给变量。如果你想要一个空的 
输入栏,请确认清除变量 。 
注意: WBAT 将会移除输入字符串后面冗余的空间。 
:: 
:checkbox 
#                  布局里的检查框                             ^ 
检查框用于触发选项的 ON/OFF 。要在对话框里创建一个检查框,在方括号里放置一个感叹号。 
例子:       ~[!] include subdirectories~ 
在这个例子里,只有检查框本身能被触发。要包括触发选项的关联文本,请将它包括进[]号里面。 
例子:       ~[!  include subdirectories]~ 
 
注意:在键盘上用空格键触发检查框。 
检查框被触发为“ON”的标记可在WBAT.INI定义(默认符号:“x”)。 
: 
:checkbox-example "Checkbox" [x] 
 [!] include subdirectories 
 [!] all uper case 
 [    ok    ][  cancel  ] 
: 
:checkbox-var 
#                       检查框变量                               ^ 
 
在一个对话框里可以有 9 个检查框。 每个检查框的返回值均为 0 (off) 或 1 (on) , 并将第一个分配给变量 WCB1,第二个分配个 WCB2,如此类推。 
这是一个处理返回值变量的例子: 
        set option= 
        if %%WCB1%%==1 set option=/S 
 
注意:在对话框被显示之前,初始/默认状态被指定给变量。一个空的变量或任何无效的变量都将赋于 0 (OFF) 
:: 
:radio 
#                  对话框布局中的单选框                          ^ 
在提供的几个选择框中,但只有一个可以被选择,其他的自动关闭。 
单选框用[]括号里加一个句点“[.]”表示。 
例子:       [.]LFN    [.]short DOS name 
对于单选框的提示文本,也可以包括到[]括号里去。 
例子:       [.  left aligned ] 
            [.  right aligned] 
            [.  centred      ] 
注意: 在键盘上用空格键可将高亮的选项激活为“ON”。 
“ON”的符号可在 WBAT.INI 中定义。(默认值: "*"). 
: 
:radio-example "Radio Buttons" [x] 
 [.  left aligned ] 
 [.  right aligned] 
 [.  centred      ] 
 [      ok        ] 
:: 
:radio-var 
#                       单选框变量                           ^ 
你可以定义一套多达 9 个单选按钮 (最小量是 2) 的单选框。当一个单选按钮被选择时,将返回单选按钮的号码 (1...),并赋于变量“WRB” 。 
这是处理单选框返回变量的例子: 
        set align=left 
        if %%WRB%%==2 set align=right 
        if %%WRB%%==3 set align=center 
 
注意:在对话框被显示之前,初始/默认值能被指定给变量。一个空的或任何无效的变量都将被赋于 1 (first) 
:: 
:listbox 
#                       从列表中选择                             ^ 
一个列表看起来像一个菜单, 但他们有一些重要的不同: 
   * 在布局中不须方括号[]。 (整行被使用) 
   * 用“卷动”功能可“达到 32Kb”被显示。 
这意味着你可以很容易的在批处理过程中提出一个源文件,举例来说: 
       WBAT list @file.ext[:label] 
你可以象任何对话框命令一样指定标签,但是如果你省略那标签,整个文件将被提出。 
符号“@” (表示文件名字) 在LIST命令中并不是强制的。。 
:: 
:list-example 
#                       列表例子                                    ^ 
 
这一个例子列出当前目录的文件。拾取一个文件...... 
 
卷动: 使用光标键(上/下)或将鼠标指针移到顶端或底端的滚动钮上并单击[或按住]鼠标左键。 
单击箭头用翻页。 
下面是查看列表的命令: 
    DIR *.* /b/a-d/one > %temp%\temp.txt 
    call W.BAT list 3,60 %temp%\temp.txt 
    wbat box 8,53 "Your selection was:^** %%wbat%% **" again,continue 
    del %%temp%%\temp.txt 
:: 
:list-keys 
#                   用键盘选择行                             ^ 
 
你能使用键盘选择一个行就像在 Windows 浏览器中一样: 
如果你键入一个或多个的字符,标记就会跳到下一个(你键入)的这些字符或字符串处开始。 如果在下面的列表中没有找到,将从顶端重新开始搜寻。 
你不能在键击之间暂停超过一秒钟的时间(否则,搜索字符串会复位)。空字符键也会重新复位。 
最大的暂停时间可以在 INI 文件中[general]部分的“ListHotTicks”字段中通过调整 ticks 的值来改变(18 ticks =1 秒),举例来说: 
        ListHotTicks=36             ;2 秒 
: 
:list-browse 
#                       查看本文文件                                 ^ 
你也可以使用 WBAT LIST 来查看小的文本文档。 
注意:最大的文件大小是 32 Kb ,而且行宽是 76bytes (超长的部分将被删除). 
下面是显示 WBAT.INI 文档的例子。 
命令: wbat list WBAT.INI 
: 
 
:本文 
#                       本文显示装置 
在屏幕上显示文本你可以用“TYPE”或“ECHO”,但是“WBAT text”指令提供一些额外的功能: 
    * 可在屏幕上的任何位置输出 
    * 本文通过标签在布局文件中读出(就象对话框一样) 
    * 本文中的变量 %%...%%钭被填写 
    * 颜色,题头,属性 
默认情况下,本文将以当前的颜色显示在屏幕上。这意味着在本文输出之前你将通常要用你想要的颜色清除屏幕。 
(详见 WBAT CLS)。 
WBAT 从给定的布局文件中通过标签来读出,如果文件中没有标签,将读出整篇文本文档。但是,只有一个屏幕的文本被显示,多余的将不能显示,没有卷动条。 
例子:        WBAT list 2,4 :info 
             WBAT text @ file.txt 
:: 
:text-area 
#                       本文区域                                       ^ 
本文在一个矩形框中被显示,这个矩形框的大小由最长的行和行的数目决定。 
当你用不同的背景色显示文本时,你只需注意这一点,象这个例子。 
要调整矩形框的文本,可加入空行和左边/右边的空格。 
跟通常一样,左上角的位置被定义为矩形框的位置。默认值是 1,1。如果本文框超过右下角的边缘,位置将会被调整以适合大小。超过屏幕大小的本文将不能显示。 
刮弧里的可选的颜色 
: 
:text-example 
  要实现这样的一个本文显示,用如下的命令格式: 
  wbat text 8,16 (blue on light brown) @:text2example          ^ 
:: 
:text-attrib 
#                  本文显示的属性                           ^ 
你能在布局中使用两种特殊的颜色来标记行或段落。这些颜色在 WBAT.INI 中定义: 
               TextHi      屏幕本文高亮 
要使文本或段落高亮,可在文本或段落的开始及结束处插入“~”符号。 (“~”可以在 INI 文件的[general]段定义HiSymbol来改变。) 
 
#              TextTitle  屏幕本文标题                            ^ 
放在最左一列的“#”符号标记了标题行(任何地方,不只在页的顶端)。标题颜色的宽度是整个文本的宽度。 由最长的行决定。要强制一个更长的标题,可填入空格或在结束处用“^”标记。 
:: 
:text-quick 
#                       Quick text                                      ^ 
 
关于对话框命令,有一种 "快的模式(Quick text)" 显示一个简短的信息,就象定义命令参数一样。 
这就非常方便用指定的颜色来显示信息或标题,象下面的例子: 
 
       wbat text 11,30 (+white on red) " Pls. ignore this message! " 
:: 
:fill 
#            用图案,字符串,颜色,CLS填充一个区域            ^ 
你可以用任何字符或字符串填充一个矩形框,或者只是改变颜色。一个特殊的选项容许一行一行的交替给定字串。看下面的例子。 
用“FILL”命令你也可以清除屏幕的指令: 
        wbat fill " " 
CLS 指令起到一样效果: 
        wbat CLS 
可选择的颜色 (默认由WBAT.INI定义): 
        wbat CLS (white on blue) 
:: 
:fill-syntax 
#                       填充语法                                     ^ 
语法:     wbat FILL position (dimensions) (colors) "string" +s 
为所有参数的默认解释。 
   position:左上角的行坐标和列坐标,默认是 1,1 
   dimensions:填充区域的宽和高(总是在刮弧中)。默认值: 屏幕边缘。 
   colors:颜色,默认值:屏幕颜色 (WBAT.INI) 
   string:将会在每行中被重复; " " 清除; 
           字串省略: 只有颜色被改变(文本保留) 
   +s:替换每一个随后的行 
若填充区域超过屏幕边缘,将会被剪切。 
例(演示版的蓝色区域) 
    wbat fill 13,32 (9,28) (+magenta on blue) "揽谫" +2 
:: 
:cursor 
#                       光标与卷动栏 
如果你想准备让你的屏幕输出其他程序,你需要光标指令。 
对于其他程序的输出。WBAT 不使用 DOS 光标(只有 CLS 指令使光标复位到初始位置)。 
举例来说,如果你文本输出到屏幕上半部分,而后续的程序和DOS命令输出到屏幕的中部,你可以将光标设置到第13行: 
           wbat cursor 13 
你也可以从当前行或任何指定的行开始发送移行命令给屏幕,当光标到达底部时,屏幕将会卷动。 
例子:    wbat cursor 25+5 
这将移动光标到底行, 并卷动 5个行。 
: 
:screen 
#                       屏幕保存/恢复                             ^ 
WBAT boxes (box/menu/list) 总是出现, 意味着当对话框被关闭后背景将得以恢复。 
对于嵌套菜单和对话框的特殊影响,WBAT提供了一些额外的功能。 
* “FIX”前缀可使对话框固定, 也就是被关闭后仍保留在屏幕上。这样你可以打开另一个对话框,而第一个对话框保持可见。注意:固定的对话框不能在屏幕上拖动。 
  例子:     call w.bat FIX menu :start 
* WBAT save/restore 当它用于其他输出(如更多的对话框,查看文档等)时,将保存屏幕。 
   
  WBAT SAVE 拷贝屏幕映像到文件,并存放于%%TEMP%%目录里。 
  WBAT RESTORE 恢复屏幕,并且删除临时文件。 
  为了使用超过一个文件,需要指定ID号。 
  例子:     wbat save 2 
: 
:palfont 
#                 字型和调色板,Windows 字型                       ^ 
注意这个演示不使用由BIOS或者Windows提供的默认颜色。 
WBAT 提供指令为全屏模式载入用户调色板和字体字形。 
颜色也可在 Win95/98 窗口中工作,不能在Windows NT 或 2000下工作,但这些系统支持为DOS对话框设计的用户颜色。(详见NTcolors.bat调整) 
对于GUI窗口,提供两种“new bitmap fonts”: 
   SANS16.FON    9*16 象素字型 (窗囗宽度: 720个图素) 
   SANS19.FON    10*19 象素字型 (窗囗宽度: 800个图素) 
在GUI窗口中能被选择之前,这些字型可通过 Windows 控制板被安装。 
:: 
:palette 
#                       用户定制的颜色色调色板                            ^ 
WBAT PAL 装载由WBAT.INI指定的颜色设色板文件。 
这个演示文档的调色板在文件 PAL.INI 中定义, 设计为亮的背景和暗的字符。修改颜色值请参照PAL.INI的注解。 
如果没有找到调色板文件 (在 WBAT PAL 之上),WBAT 将使用一内建的默认调色板,是相同于原始的 PAL.INI。 
注意: 
在一个GUI窗口中颜色不会立即改变, 而是提供给后续的输出。 因此,要在PAL命令后清除屏幕。 
调色板将保留直到程序恢复到video模式。 
要移除订制的调色板,运行 DOS 指令: MODE CO80 
:: 
:font 
#                       完整的屏幕字型                                ^ 
wbat FONT 载入由WBAT.INI指定的字型文件。SANSERIF.FNT被提供。 
注意,字型只在全屏模式中显示, 但在GUI窗口中激活也不会有害。 
可选择地,你能将屏幕设定为 33行: 
        wbat font 33          (重新设定: wbat font 25) 
这个指令也会将GUI窗口换成 33个行,扩大窗口.(虽然字型本身被忽略)。请在 DOS 提示符下测试。 
字形将保留直到程序恢复到video模式。 
要移除订制的字型,请运行 DOS 指令: MODE CO80 
:: 
:No_ansi 
#                       ANSI控制台驱动器                             ^ 
你当前不在运行ANSI标准驱动器。 
如果你不知道ANSI驱动器是什么,只须跳过下面部分。 WBAT 不需要ANSI驱动器。 
信息: 
ANSI CODES用于颜色和光标,控制屏幕输出。程序通常仍然使用与它一起提供的这些编码进行ANSI仿真。 
标准的 Windows 配置不载入ANSI驱动器。 
: 
:ansi 
#                       ANSI控制台驱动器                             ^ 
首先,所有的 WBAT 输出不受ANSI的影响。 
然而,来自其他的程序 ( 透过标准输出) 的输出不将会在目前的屏幕上彩色显示,而是以先前已经由ANSI CODE程序通过的颜色显示。(初始:白色(前景)、黑色(背景))。 
这意味着如果你想按指定的颜色输出其他的程序,你必须使用 ANSI CODES 额外的为 WBAT 提供颜色输出。 
WBAT 提供了一个指令帮助你以防万一当前有一个未知的ANSI驱动器: 
       wbat ANSI?    如果没有ANSI驱动器发现, 返回 errorlevel 1 
可选择地,你可以加入一个ANSI CODE程序,将会只被送出, 如果存在一个激活的ANSI驱动器 (因此你不会在屏幕上产生任何乱码。 
: 
:stdout 
#                       Wbat STDOUT                                     ^ 
既然有 Wbat TEXT 指令, 我们需要 STDOUT 做什么? 
答案是:输出到 STDOUT 可重定向到一个文件。 
AND 为什么不用TYPE? 
有两件事TYPE不能实现: 
     * 读来自一个文件里的有标签的小片断 
     * 代替环境变量 
 
指令:  wbat STDOUT @file.txt[:label] 
Wbat STDOUT 只产生一个场景用于例如重定向到一个文件、一个集合、一个从文本片断或模板来的文件。 
你必须找出你自己需要的功能来使用。 
: 
 
:setup-title 
谀哪柯哪目谀履口柯哪目^ 
滥哪棵?  ?? ?  趁哪馁 
滥哪倭哪馁 ? 滥哪倭 
: 
:setup-menu " WBAT 应用程序的安装 "[x] 
[ Installation    ] 储存 WBAT 运行时的文件、路径 
-------------------------------------------------------------- 
[ INI file        ] WBAT.INI,override、文件/颜色明细 
-------------------------------------------------------------- 
[Environment      ] 提供环境变量空间 
-------------------------------------------------------------- 
[ Project editing ] 编辑器, 多重 DOS 对话框 
----------------------------------------------------- [ 结束 ] 
: 
:install1 
#                       WBAT 安装                               ^ 
为了运行这个演示文档,你或许已经将 WBAT 文件解压到一个初定的文件夹。 
当你要使用 WBAT 来制作你自己的批处理时, DOS 必须能从你的目录结构定位程序文件。 
这通过设定路径来实现(详见autoexec.bat),就象下面的语句: 
           PATH C:\ WINDOWS;C:\ Windows\command;C:\ DOS\UTIL 
当一个文件不在当前的目录中时,COMMAND.COM 试着定位指定文件夹的程序文件。 
因为只有几个 WBAT 文件被共用,因此最好将这些文件拷贝到一个已经存在的公用文件夹里,这个文件夹是你包含在你已经指定的路径中的。当然你也可以创建新的文件夹,然后将其加入到你的PATH中。 
: 
:install2 
#                     安装 WBAT 文件                             ^ 
注意: 最初的 WBAT 文件应该存放在一个分开的文件夹中,这样你才能在任何时候以最初的设定运行DEMO。 
拷贝这些文件到“public”文件夹,并将这个路径设定到PATH中: 
           WBAT.COM 
           W.BAT 
           WBAT.INI 
第一、二是可执行文件。 INI 文件放在与 WBAT 要运行的程序文件相同的文件夹中。 
默认情况下,文件 PAL.INI 和 SANSERIF.FNT 也被放置在这个文件夹。然而,如果你不喜欢在那里有太多文件,可以放在子文件夹或磁盘上的任何其他的地方。 在这种情况下,你必须修改你的 WBAT.INI 。 详情见下面一章。 
要在GUI 窗口中使用“bitmap fonts” SANS16.FON 和 SANS19.FON,必须在 Windows 控制面板中安装它们。 
: 
:inifile 
#                       INI 文件 WBAT.INI                               ^ 
全局的 WBAT 设定从放在与WBAT.COM文件同一个文件夹的 WBAT.INI 中提取。 
你也可以在其它目录里创建为指定项目而修改的 WBAT.INI。 WBAT 在检查它自己所在目录之前,总是在当前目录中寻找 WBAT.INI。 
这个演示的配置项目在各自的章节有解释,也可参见WBAT.INI 的注解。 
注意: 如果没有找到 INI 文件,WBAT 将使用内建的与初始的INI文件相同的默认值。 
: 
:ini- menu [x] 
[ WBAT.INI ] 
[ override ] 
[ files    ] 
[ colors   ] 
: 
:ini-override 
#                 Override INI 文件设定                            ^ 
所有的INI文件里的设定都可通过变量临时改变。 
变量名就是INI文件里的项目名,用“W”作为前缀。 
例子:       SET W button=black on +cyan 
            SET W rightESC=0 
            SET W radiosymbol=254 
要返回到 INI 文件设定,清除变量。 
例子:        set W button= 
 
 
:ini-files 
#                 WBAT.ini 的文件规格                       ^ 
通常,你能按照DOS规范(8.3命名)在你的 WBAT.INI里指定一个文件。作为一个例外,“+”可作为一个前缀用于指向 WBAT 的目录 ( 也就是程序文件 WBAT. COM 所在目录)。 
* 对于默认的源文件(布局) 文件名必须被指定,没有路径。 这样你能使用名字作为局部的默认文件,也用于WBAT目录里的全局的默认文件(只需要“+”指向). 
  例子:      SourceFile= WBAT.TXT 
* PAL.INI 和 SANSERIF.FNT必须用全路径指定,或者用“+”前缀。例: 
     PalFile=C:\some\where\Pal.INI 
     PalFile=+pal.INI                (在 WBAT 的目录中) 
     PalFile=+data\Pal.INI           (在子目录中) 
: 
:ini-colors 
#                       INI 文件里的颜色设定                              ^ 
参见 INI 文件的注解, 详细的描述请参见“layout”部分。 
关于颜色解释,请参见 Commands/Colors. 
一些特别的功能: 
* 对于分割线和阴影的颜色被忽略。分割线的背景总是从激的对话框的颜色中提取。 
* 对话框阴影可以通过设定“NONE”来关闭。 
* 对于热键颜色 (在按钮中) 的背景是可选的。“NONE”将完全关闭热键功能。 
: 
:Environment 
#                       环境空间                               ^ 
WBAT 使用环境变量报告输入的是字符串或有名字的按钮, 举例来说。 
变量被储存在 COMMAND 环境空间中,要列出当前储存的所有变量,使用 DOS 命令 SET(不带参数) 
既然环境空间被限制,你应该小心的处理以便有足够的空间运行你的 WBAT 批处理。 Windows 的DOS对话杠默认是384bytes。要改变其大小,请打开DOS对话框/内存的属性。 
Win98 好像自动将环境空间增加到 400,这对于从一开始就提供足够的空间是一个好主意。 
对于 DOS 版本为 6.x 以上的,详见文件 ESPACE.TXT 里的注释。 
工具 ECHECK.bat 提供了一个是否达到最小可用空间的测试。参数可参见到这个文件里的描述。 
记住清除那些不会再用于你的批处理的所有变量。 
:: 
:project-editing 
#                       项目编辑                                 ^ 
 
如果你使用一个 Windows 编辑器,扩展的 ASCII 字符( 图形符号 
或特别的欧洲字符)只有在当你选择了终端字体时才会在DOX对话框中恰当的显示。你的编辑器也可提供“bitmap fonts”给WBAT(与终端字体一样,大小 12/14) 
你能开启几个 DOS 对话框测试你的批处理文件,编辑布局文件,并且运行 WBAT 演示来获得信息,所有都在同一时间进行。 
当一个批处理在另一个DOS窗口运行时,不要编辑这个批处理文件。 
COMMAND.COM 保留了行的物理位置以便继续,当你编辑这个文件时,这些位置可能会改变。 
: 
:command-menu " Command in Batch Files " [x] 
[ Command & Summary  ] 所有WBAT命令的列表 
-------------------------------------------------------------? 
[ W.BAT construct    ] 生产变量,alt: STDOUT 
-------------------------------------------------------------? 
[ Multiple command   ] 一行同时几个 WBAT 命令 
-------------------------------------------------------------? 
[ Position           ] 输出位置,尺寸 
-------------------------------------------------------------? 
[Color               ] 在命令,INI 文件,表达式中 
-------------------------------------------------------------? 
[ Layout reference   ] @FILE:label, 局部的/全局的参考 
-------------------------------------------------------------? 
[Bar options         ] 预选择,超时 
-----------------------------------------------------?[ END ] 
: 
:command-title 
谀哪口哪目谀履口穆目谀哪口目柯哪目谀哪縙 
?   ?  吵 ?吵 ?趁哪拇??吵忱哪目 
滥哪倮哪馁?  亮亮亮滥倭哪馁滥哪? 
: 
:commands 
#                   WBAT 指令,语法                               ^ 
      WBAT command [参数]      (普通语法) 
      call W.bat command [参数]      (当有变量时) 
命令: 
     box |menu| list [position] [colors] [@file][:label] [#bar[,time-out]] 
     text            [position] [colors] [@file][:label] 
     box      [position] [colors] ["text"] buttons [#bar[,time-out]] 
     text     [position] [colors] "text" 
     fill     [position] [dimensions] [colors] ["string"] [+shift] 
     cls      [colors]               save     [ID number] 
     cursor   [line] [+feeds]        restore  [ID number] 
     ansi?    [code]                 font     [33|25] 
     stdout   @file[:label]          pal 
     fix box|menu|list...  (前缀: 对话框将保持可见当关闭时) 
参数的细节请见下面的细节。 
关于指令的功能性请参见 WBAT 浏览。 
: 
 
:wbat-batch 
#                       W.BAT的结构                              ^ 
为了能产生用于批处理的变量, 需要一个专门的结构。 原来那种直接在程序里设置变量的方法已经不再支持。 因为它不能在视窗 NT/2000 之下工作, 而且对 Windows 版本来说是不安全的。 
当你想要 WBAT 生产“变量”时(用于 box/menu/list 指令), 
你必须用:    call W.BAT <command> <parameters> 
来代替 :     WBAT..... 
文件 W.bat 运行 WBAT.COM, 而且能很好的运用变量。 
请阅读 W.bat 指令(下一页)来获得相关的重要信息。 
作为一个更替,WBAT 能将设置定义写给 STDOUT,用于重定向到一个临时的批处理文件。 
: 
:wbat- menu [x] 
[ W.BAT & command ] 
[ W.BAT & details ] 
[ STDOUT method ] 
: 
:wbat-command 
#                           W.BAT                                      ^ 
批处理文件 W.bat 传递指令参数给 WBAT.COM。最多允许9个参数,但是通常你不需要那么多。 
例: call w.bat box 5,12 (+white on blue) @file.ext:label #3,5 
         --------1--2--3-----4----5---6----------7---------8-9 
避免布局参考的空间,同时在颜色表达式中使用 "+" 代替 "明亮的"。 作为更替,整个参数字串可用双引号括起来 (不能在 DOS 6.x或更早期的版本下工作). 
例子: call w.bat "box 5,12 (+white on blue) @file.ext:label #3,5" 
引号内的字符串将作为单一的指令参数传递给w.bat。 WBAT.COM 将忽略引号。 
注意: 
 “quick box”(没有布局)不能被用于 CALL W.BAT 结构。只通过 errorlevel 处理。 
: 
:wbat-details 
#                        W.BAT的工作方式... 
只在你感兴趣的情况下阅读这一部分。 
在W.BAT的第一行运行给出参数的WBAT.COM: 
       WBAT $W %%1 %%2 %%3 %%4 %%5 %%6 %%7 %%8 %%9 
$W 参数告诉 WBAT.COM 从它运行的位置(目录)打开批处理文件 (也就是 W.BAT,与 WBAT.COM 在同一目录),并且从这个文件的第二行开始写设置定义,因此,他们将会在第一行执行完后被正确执行 (也就是 WBAT.COM 结束). 
不要改变 W.BAT 的第一行。当每一次W.bat运行时,其它的行将被重写。 
注意:万一你想重新命名 W.BAT: 只支持一字节的文件名,并且第一行的 $W 参数必须改变为文件名的名字(如T.BAT就为$T)。 
: 
:wbat-stdout 
#                    通过 STDOUT 设定变量                       ^ 
WBAT 也支持一个更传统的方法生产变量,这在只读媒体(这时W.BAT不能运行)运行WBAT是很有用的。 
当 wbat.com 发现输出重定向到一个文件时,SET 指令将写给STDOUT,文件必须是一个批处理(.BAT)文件,这样才能被调用来执行 SET 命令。 
例子:   wbat box :start_menu > %%temp%%\wtemp.bat 
        call %%temp%%\ wtemp.bat 
 
推荐使用 %%temp%% 目录。 
不要忘记删除临时文件。 
:: 
 
:multiple 
#                       多重指令                               ^ 
WBAT 能够在一行中接收几个命令。用感叹号(!)分开这些指令。 
例子: 
        wbat cls ! text 2,5 @file.ext:label1 ! box continue,back 
             ---   ------------------------------------------ 
        wbat pal ! font ! cls 
             ---   ------- 
程序名 WBAT 需在开始时写一次。 
注意: 
  如果“box”指令 (box/menu or list) 被包括在内,则必须放置于最后一行。 
  在多重指令行中不能使用 CALL W.BAT 结构。 
: 
 
:Position 
#                    位置和大小                            ^ 
所有的对话框都能定义位置(行和列),就跟 TEXT 和 FILL 一样。位置通常是指对话框的左上角。 本位是 1,1. 
如果一个 box 或 text 输出超过正屏幕的右下角边缘,WBAT 将自动调整位置。 
默认值: 
   boxes(box/menu/list) 放置于屏幕中央,如果只有行坐标被规定,box将放置于水平中间位置。 
   Text 和 Fill          将从本位开始 (1,1) 
: 
:Dimensions 
#                       大小                                      ^ 
 
boxes 和 text 的输出大小由layout定义(最长的行和行数)。 
 
FILL 允许指定的行和列,用圆括号()括起来。 
例子:    wbat FILL 5,12 (10,30) (white on blue) "<>" 
默认大小: 上至屏幕边缘。 
: 
:colors 
#                              颜色                                   ^ 
内定的颜色在 WBAT.INI 中定义。 如果 INI 文件不存在,或颜色在 INI 文件中没有定义,内建的默认值将被使用。( 相同于原始的 INI 文件) 
WBAT 支持不同的颜色规格: 
     box/menu/list    对话框颜色 
     text             本文颜色 
     fill/cls         填充颜色 
     (颜色表达式总是用圆括号()括起来) 
其他的颜色, 如按钮和条的颜色,能在你的处理中通过变量来改变。 
注意: 
   默认的文本颜色是当前的屏幕的文本颜色(而不是由INI指定) 
: 
:color-expressions 
#                       彩色表达式                               ^ 
颜色用这个格式定义: <前景> ON <背景>。单词“ON”是可选的。 
在DOS对话框中,十六种颜色是可用的。 (8个正常,8 明亮的) 
颜色:       black,red,green,blue,brown,cyan,magenta,white 
可选择的:   bright 或用 “+”符号 
同义字:     light=bright 
            yellow=bright brown 
            grey/gray=(normal)white 
例子:    bright brown on blue 
         +brown on blue 
         black on +brown 
注意: WBAT指令中的颜色表达式总是用圆括号()括起来。 
: 
:layref-menu [x] 
[ default files ] 
[ local batches ] 
[ global batches] 
[ layout in &BAT] 
[ def. &extension] 
: 
:layref 
#                       布局参考                                ^ 
box/menu/list 指令的布局由文件名和标签定义。 
     *  文件名前加一个前缀@    e.g.    @dialog.txt 
     *  标签前加一个前缀:      e.g.    :START 
例子:     call w.bat box @dialog.txt:START 
通常,你能依照 DOS 习惯定义文件,或者没有路径, 或者是相对路径,或者是完整的路径 (只能使用DOS 8.3 的命名规则)。 
特别的, “+”前缀是指 WBAT 的 "公用" 目录。 
例子:     call w.bat box @+dialog.txt:START 
在大多数情况下你,将可省略文件名字,因为 WBAT 提供一个容易的方法使用默认的文件。 
注意: 不要漏掉布局文件的扩展名。 
参见“default extension”。 
: 
:layref-default 
#                     默认的布局文件名                          ^ 
 
在提供的INI文件里,默认的布局文件是WBAT.TXT,用于这个演示。建议指定默认的文件时不要用路径。 使用“WBAT.TXT”或其他任何你喜欢的名字。 
如下面的例子,你可以用本地的默认名字,就跟在全局的布局文件一样: 
     call w.bat box :START       用于 WBAT.TXT 在当前目录 
     call w.bat box +:START      用于 WBAT.TXT 与WBAT.COM同一个目录 
注意: 当布局参考是用“+”或“:”开始时,“@”符号并不需要。 
: 
:layref-local 
#              调用本地布局文件的本地批处理                      ^ 
当批处理总是在自己的目录中运行时,你可以使用本地的布局文件(在同一个目录里),不需要指定路径。 
例子:    call w.bat @layout.txt:START 
     或  call w.bat :START            (用于默认是 WBAT.TXT 的情况) 
注意: 
请确认:当WBAT运行时,当前驱动器和目录必须能在你的目录中被完全的选择。 
要知道批处理(或在批处理中运行的程序)可能在程序返回到主菜单前改变驱动器号和/或目录。 
推荐你适当的设置你的驱动器和目录(因为这种情况下你要处理其他文件)。 
关于更替,请参见下面。 
: 
:layref-global 
#                       Global layout file                            ^ 
如果批处理是设计为在任何的目录中运行,BAT文件就必须在PATH设置的目录里。 
因为没有“地方目录”那可以装载,必须告知 WBAT 源文件的位置。 
为了避免定义完全路径,把布局文件在和 WBAT.COM 相同的目录里。 你总是可以用“+”前缀来指向这一目录。 
举例来说:    call w.bat +Xproject.txt:start 
      或:    call w.bat +:start           (对于默认的布局文件是 WBAT.TXT 的情况) 
 
注意: 你不需要为每个项目设计一个单独的文件。只须确定文件内没有重复的标签。布局文件的大小没有限制。 
:: 
:layref-bat 
#                    批处理文件中的布局源                          ^ 
如果你喜欢把布局直接放置在批处理文件中,请确定批处理过程不会陷入布局部分,并且没有任何重复的标签。 为了指定批处理文件作为布局源,可使用“%%0 批参数。 
例子:   call w.bat box @%%0:Box-layout 
WBAT 将会检查有效路径变量里的目录来定位文件,你不必担心布局文件的适当的目录。 
这方法较适合”全局的“批处理,文件能通过路径来定位。在其他的情况下,这个方法是安全的,只要你不改变当前的目录和驱动器号(%%0包括了批处理文件的完整路径)。 
注意: DOS 用命令代替了 %%0 ,就象敲入DOS命令一样。 
: 
:layref-extension 
#                       默认的扩展名                               ^ 
 
实际情况下,插入DOS的指令用%%0参数替代,扩展名.BAT可以省略。 
要使%%0参数工作,WBAT 假设默认的扩展名是.bat,无论何时,都可指定没有扩展名的布局文件。 
基于这一个理由,不要使用真的没有扩展名的布局文件。 
: 
:bar-options 
#                       Bar options                                     ^ 
默认的高亮条目设置成对话框、菜单、列表的第一选项。要改变这个位置,可在选项号前加一个“#”作为最后的参数。 
例子:    call w.bat :main #3 
 
条目的位置参数也接受如 a-b 或 a+b 一样的数学表达式。 
这可用于菜单里预设选择下一个选项。 
关于详细的信息请参见“Control”部分 (使用变量,? 变量). 
: 
: time-out 
#                         time-out                                      ^ 
可选的,超时设置可使用于在(设置的)秒数后自动关闭对话框,并返回预设的选项作为被选择项。 
例子:    call w.bat box :main #3,5 
重要的: 
预选项必须是一个按钮,因为当超时时 WBAT 产生一个 ENTER 键,而 ENTER 关闭对话框只能通过按钮! 
当一个键被按下或鼠标被单击时,超时将被取消,但不管有没有效的输入都没有影响。 
最大的超时:3,600 秒 (1 小时) 
倒数计时显示装置: 
你可以在对话框的任何位置显示倒数计时,在布局中用“#”表示 
详情请参见“Layouts / Timer Display” 
: 
:layout-menu “对话框、菜单、文本布局的设计” [x] 
[ General info    ] 标签,大小,变量 
--------------------------------------------------------------? 
[ Box Style       ] 框体,阴影,标题,[x] ,分割线。 
--------------------------------------------------------------? 
[ Control Elements] 按钮,&热键,输入和其他的元件 
--------------------------------------------------------------? 
[ Text Attributs  ] 本文高亮和表头线 
--------------------------------------------------------------? 
[ Timer Display   ] 倒数计时闭一个对话框 
--------------------------------------------------------------? 
[ Symbol Summary  ] 所有的特殊符号 
--------------------------------------------------------------? 
[ Color Test      ] 见 Colors.bat 
------------------------------------------------------?[ 结束 ] 
: 
:layout-title 
?   谀哪口口哪目?  口穆目谀哪縙 
?   媚哪蠢穆馁?  吵忱 ? 滥哪? 
聊哪倭 ? ? 滥哪倮哪馁 ? 滥哪? 
: 
:layout-general 
#                       一般信息                             ^ 
一个布局可以自成一个文件,也可以跟其他的布局单元合在一起,这时每个布局都用“标签(label)”识别身份。 
标签的前面有一个冒号(:), 像批处理文件。但长度没有象DOS和Win9x 那样的 8 个字符的限制。 
布局是一个纯 ASCII 本文。用方括号[]括起来的对话框的控制元件能被放置在任何地方。布局的结束是在最左端的一列加一个冒号(:)(这个冒号也可以是下一个布局标签) 
布局总是产生一个矩形的区域, 这个矩形的大小取决于最长的行和行的数目。对话框将加在一个框架(同上下左右各一条线组成)上,其它空间,将由空白空间和空行填充。 
注意:为防止你的编辑器将一行后面的空白字段截去,可用脱字符(^)来标记行的结束(这将不会显示出来)。 
: 
:layout-variables 
#              在布局中使用环境变量                ^ 
在批处理文件中,变量 ( 带%符号) 会被替代。 
例外: 不能在控制元件中使用变量。 (如:按钮) 
例子 (assuming FILE=SAMPLE.TXT) 
     在布局中:   read %%file%% for details 
     在输出中:   read SAMPLE.TXT for details 
注意:字串的大小会影响对话框的宽度! 对话框的行数超过 78bytes 将产生错误信息。 
     文本超过 80bytes 将被切断。 
固定输出长度的变量能通过用下划线填充来完成。 这保留的“栏位”(包括变量的名字)将 
填充进字串里。 根据实际的大,字串将会被填时空白空间或被切断(!)。 
例子 
    在布局中:  %%VAR%%__________ %%VAR2%% or more text ... 
    在输出中:  actual string    string2 or more text ... 
: 
:layout-Style 
#                      布局类型                                        ^ 
 
WBAT 从 WBAT.INI 里读取颜色和其他的设定。 
你可以使用你的偏爱设置, 并将它用于你的所的对话框和其他的WBAT输出。 
当然,你可以用变量来临时改写所有的 INI 文件的设定 
( 变量名 =W项目名). 
详见“Setup/INI file/override部分” 
注意:对话框颜色也在box/menu/list指令中指定。 
: 
:style-menu "Box style" [x] 
[ frame and shadow   ] 
[ title and deviders ] 
[ highlighting       ] 
[ extra ESC button   ] 
:: 
:Style-frame 
#                       对话框的框架 
在这个演示中使用了一个空白的框架,但是你也可以在 INI 文件中定义一个不同的图案: 在 3 点之前想像一个 3 的最小架框, 
           谀縹 
 举例来说: ~?硚 然后排成一列放 9个字符: "~ 谀砍忱馁~" 
       ~ 滥賬 
中央的字符应该是空白,因为它将填充对话框。 
 
#                       对话框阴影 
当在INI文件里找到有效的阴影颜色时,一个阴影将是可见的(默认值:淡黑色) 
要关掉阴影, 请设置“shadow=NONE 
:: 
:style-title 
#                         对话框标题 
对话框标题(替代上边框,见下述)可在布局的标签行里设置。双引号是必须的。 
例子:      :style-menu "Box style" 
           ..... 
标题位于中间。 颜色由 INI 文件里的BoxTitle 指定。 
#                         分割线 
为了产生不同颜色的分割线,可使用“?”字符(ASCIII 码: 196)。这将总是显示INI文件里定义的颜色来显示分割线。只有前景颜色才有(背景规定会被忽略). 
:: 
:style-highlighting 
#                   对话框的高亮文本                            ^ 
 
要高亮一个单词或文本段,可在单词或文本段的开始和结束处加符号 (~)。 
颜色由 WBAT.INI 里的 BoxHi 定义。 
 
注意: 
相同的功能可用以 TEXT 输出。 ( 颜色由 INI 文件里的 TextHi 定义),“~”符号可用其他符号代替,要在 INI 文件里的“general”部分定义HiSymbol。 
HiSymbol。 
: 
 
:style-extra 
#                      特别的 ESC 按钮 
如果你希望在对话框的右上角有 Windows 风格 [x] 按钮,将它加入布局文件的标签行里。 
例子:    :style-menu "Box style" [x] 
  或:    :any_box [x] 
 
方括号[]是不可缺少的,任何符号都可用来代替“x”。 
 
注意: 
    点一下 [x] 按钮有与按ESCAPE键相同的效果。 
: 
:Layout-control 
#               布局中的控件 
 
所有的控件都被括在方括号[]里。 
第一个字符决定控件的类型: 
       [$varname    ] 输入栏 
       [!]            检查框 
       [.]            单选按钮 
       [? button ]    ESCAPE按钮 
       [ button ]     (其他的)普通按钮或菜单条目 
ESCAPE 按钮看起来像任何其他的按钮 ("?" 被移除),但触发的是 ESC 键。 对于特别的 ESC 处理请见“Control”部分。 
要在一个普通的对话框文本里使用打开的方括号,它必须用两个,举例来说:[[ in square brackets ] 
: 
:element-menu [x] 
[ input field   ] 
[ checkbox      ] 
[ radio buttons ] 
[ hotkeys       ] 
: 
:hotkeys 
#                       热键                                         ^ 
这个演示的按钮或菜单条的热键用红色标记 (见 INI 文件)。要屏蔽热键功能,可设置 HotKey=NONE。 
按钮或菜单项目的第一个字符是默认的热键字符。在多个按钮的第一个字符相同时,可标记其他的字符,只需在该字符前加个“&”符号。 
例子:     Buttons:     [ continue ][ ca&ncel ] 
          Menu item:   [ WBAT &Configuration ] 
注意: 
  热键字母也可以与ALT键组合使用。(当光标是在一个输入栏中的时候,就提供了这种热键支持)。 
  & 符号也可用于“quick boxes” 。 
  ~& 符号也决定,哪个词作为变量返回( 见Control部分) 
  对个别的按钮可通过一个拖尾的 & 符号解除。 
: 
:layout-text 
#                       Text Output                                     ^ 
默认情况下,本文将以基于屏幕的颜色被显示。在 WBAT.INI 里没有默认的文本颜色。 
为了显示新页的本文,首先得清除屏幕。 
例子:       wbat cls! text 2,4 :layout-text 
颜色也可在命令行中指定,然而,要注意 WBAT TEXT 通过行数和最长的行来产生一个矩形框,这一区域周围的颜色将保持不变。 
当使用空格来填充时,可在行末用脱字符号(^), 这一个符号将不会表示。 
: 
:layout-timer 
#                      倒计时显示                                ^ 
当你想使用计时器功能在一个给定的秒数后关闭一个对话框时,倒计时可在对话框的任何位置显示,(不在控件里, 也不在“quick box”里),用记号 #? 作为位置标记。 
万一用户取消倒计时(用任何输入),计数是被“--”代替。 
计时器语法见“Commands/Bar Options” 
:: 
:layout-tbox “计时器测试” 
     这个对话框将在 15 秒之后关闭,并返回标记按钮的 errorlevel。 
                     #? 
         [    ok    ][ cancel ] 
: 
:layout-symbols 
#                      特别的符号                           ^ 
 [  (box)       标记按钮或其他控件,直到 ] 结束。 
 &  (box)       标记热键字符 (只能在按钮里使用)。 
 %% (box/text)  环境变量处理,像在批处理文件中一样。 
 ~~ (box/text)  最亮本文部分 (开始/结束) 
 #  (text)      标题栏 (只能用在最 
 |   
 
 
 
 |