当前位置:DOS资源站资料中心入门文章 → wbat教程第四部分:命令--批处理文件的指令明细

wbat教程第四部分:命令--批处理文件的指令明细

减小字体 增大字体 作者:佚名  来源:本站整理  发布时间:2008-4-30 1:19:02

         <wbat的基本语法格式>

一般格式:WBAT 命令名 [参数]
如果要产生变量请用:call W.bat 命令名 [参数]

      <常用的命令>

    我们下面将总结一下先前所学的命令:

一、在使用布局文件的情况下:

box/menu/list  [位置] [颜色] [@布局文件名] [:标签名] #n,m
text           [位置] [颜色] [@布局文件名] [:标签名]
(参数“#n”和“m”将在第七节条目选项中讲解。)

二、在不使用布局文件的情况下:

box        [位置] [颜色] ["提示内容"] 按钮
text       [位置] [颜色] "信息"        (这个是在快速文本模式下)
fill       [位置] [填充框的大小] [颜色] ["填充字符串"] [+s]
cls        [颜色]
cursor     [行] [+增量]
stdout     @文件名[:标签名]
save       [id号]
restore    [id号]
fix box/menu/list …     (fix前缀使得这些控件在关闭后仍然驻留在
dos框中。)     <W.bat的结构>

    为了能产生用于批处理的变量, 需要一个专门的结构。 原来那种直接
在程序里设置变量的方法已经不再支持。 因为它不能在视窗 NT/2000 之下
工作, 而且对未来的Windows 版本来说是不安全的。

当你想要 WBAT 生产“变量”时(用于 box/menu/list 指令),

你必须用: call W.BAT <command> <parameters>
来代替 : WBA…

    文件W.bat调用 WBAT.COM, 而且能很好的运用变量。


     <W.bat命令>

    批处理文件W.bat传递命令参数给WBAT.COM。最多允许9个参数,但是通
常你不需要那么多。

例: call w.bat box 5,12 (+white on blue) @file.txt:label #3,5
        --------1--2--3-----4----5---6----------7---------8-9

    为避免空格,整个参数字串可用双引号括起来 。

例子: call w.bat "box 5,12 (+white on blue) @file.txt:label #3,5"

    引号内的字符串将作为单一的指令参数传递给w.bat。WBAT.COM 将忽略引号。

(注意:快速对话框不能被用于 CALL W.BAT 结构。只通过 errorlevel 处理。)


    <W.bat的详细资料>

    只在你感兴趣的情况下阅读这一部分。(你可以打开你磁盘上的w.bat做参照。)

    W.BAT的第一行运行WBAT.COM并带了参数,如下:

WBAT $W %1 %2 %3 %4 %5 %6 %7 %8 %9

    其中这个特殊的$W参数代表w.bat所在的目录,即告诉WBAT.COM从该目录打开批处理文件(与WBAT.COM在同一目录),并且从这个文件的第二行开始写设置定义,这样它们将会在第一行执行完后被正确执行(要理解一件事--w.bat文件的内容会随着它的调用而发生变化,这样你就会理解为什么“call w.bat”能够产生环境变量了)。

注意:一般不要改变W.BAT的第一行。万一你想重新命名W.BAT:只支持一字节的文件名,并且第一行的$W 参数必须改变为文件名的名字(如T.BAT就为$T)。
 


    WBAT能够在一行中接收几个命令。用感叹号“!”分开这些指令。例如:

wbat cls ! text 2,5 @hero.txt:hero ! box continue,back

(“WBAT”只需在开始时写一次。)

          <位置>

    这里所谓的位置就是指对话框弹出时所在的位置。在此之前,我们已经
接触过不少,例如这一句:

wbat box 9,9 OK,Cancel

参数“9,9”就是对话框的位置。

    所有的对话框都能定义位置(行和列),就跟TEXT和FILL一样。位置是
指对话框的左上角所处的坐标。本位是“1,1”。

    如果一个box或text输出超过正屏幕的右下角边缘,WBAT 将自动调整位
置。

    在默认的情况下,boxes(box/menu/list)对话框放置于屏幕中央,如
果只有行坐标被规定,对话框将放置于水平中间位置。而Text和Fill将从本
位“1,1”开始。


    <尺寸>

    这里所谓的尺寸就是指对话框弹出时的大小。

    boxes(box/menu/list)和text的输出大小由布局定义(最长的行和行数)。

    FILL命令比较特殊,它允许指定行和列,行数和列数用圆括号“()”括起来。

例如: wbat FILL 5,12 (10,30) (white on blue) "$"
(默认大小: 一直到屏幕边缘。)

 <颜色>

    默认的颜色在 WBAT.INI 中定义。 如果INI文件不存在,或颜色在INI文件中没有定义,那么内建的默认值将被使用。

    注意:默认的文本颜色是当前的屏幕的文本颜色,而不是由INI指定。

    颜色用这个格式定义: 前景色 ON 背景色。单词“ON”是可选的。
DOS对话框中,十六种颜色是可用的。

正常的颜色分别为“black,red,green,blue,brown,cyan,magenta,white”共8种

若选择明亮的颜色,请用“bright”或用“+”符号做前缀。
(亮棕色“bright brown”代表黄色)

例子:
bright brown on blue
+brown on blue
black on +brown

需要注意的是: WBAT指令中的颜色表达式总是用圆括号()括起来。
 

注意:如果“box”指令(box/menu or list)被包括在内,则必须放置于最
后。在多重指令行中不能使用CALL W.BAT结构。

       <布局参考>

    不知道你现在对布局二字理解的如何,这里所说的布局其实就是一段代
码,这段代码用于布置程序中要用到的控件和一些其它元素(由于有些东西
没法直接写在命令中)。

    box/menu/list指令的布局由文件名和标签定义,这是我们已经知道的
,具体的写法在这里不再复述。


    通常,你能依照DOS习惯定义文件,或者没有路径, 或者是相对路径,
或者是完整的路径(只能使用DOS 8.3 的命名规则)。特别的,“+”前缀
是指WBAT的“公共”目录。

例如: call w.bat box @+dialog.txt:START

在多数情况下你可以省略文件名字,为什么?
请继续阅读。


                        <默认的布局文件名>

    在INI文件里,你可以设定默认的布局文件。建议指定默认的文件时不
要用路径。

如下面的例子,你可以用本地的默认名字,就跟在全局的布局文件一样:

call w.bat box :START 用于 WBAT.TXT 在当前目录
call w.bat box +:START 用于 WBAT.TXT 与WBAT.COM同一个目录


           <本地批处理文件>

    当一个批处理文件总是在自己的目录中运行时,你可以使用这个目录中
的布局文件,不需要指定路径。即该布局文件处于当前目录。

例如: call w.bat @hero.txt:hero


    <全局批处理文件>

    如果要一个批处理在任何的目录中都能运行,那么该BAT文件就必须在
PATH设置的目录里。这一点相信大家都明白。

    与“本地批处理文件”不同,“全局批处理文件”不存在“当前目录”
,因此就必须告知WBAT布局文件的位置。

    为了避免定义完全路径,我们可以把布局文件和WBAT.COM放在相同的目
录里。此后,你就可以用“+”前缀来指向这一目录了(是不是方便了很多
)。

举例来说: call w.bat +hero.txt:hero
本例中hero.txt处于“公共”文件夹中。

(注意:你不需要为每个项目都设计一个单独的文件,只需要确定文件内没
有重复的标签。布局文件的大小是没有限制的。)


                    <批处理文件作为布局源文件>

    在此之前,我们都是用别的文件作为布局文件,其实批处理文件本身也
可以做布局文件。如果这样,请确定你的批处理过程不会执行布局部分,并
且没有任何重复的标签。为了指定批处理文件作为布局源文件,可使用“%0
参数。

例如:call w.bat box @%0:hero

注意:由于wbat不支持中文,当路径中含有中文的时候将得不到正确结果。


                         <默认的扩展名>

    实际情况下,%0参数被替代时,扩展名.BAT会省略。

    既然如此,无论何时,如果指定的布局文件没有扩展名,WBAT都会假设
其扩展名为.bat。基于这一个理由,请不要使用没有扩展名的布局文件。

      <设置预选选项>

    在默认情况下,对话框、菜单或列表的第一个选项被设置成高亮。要改变初始时高亮的位置,可在选项号码前加一个“#”符号作为最后的参数。

例如: wbat box ok,cancel,retry #3

本例中“retry”选项在程序开始时被设成高亮。

(该参数也可以接受如a-b或a+b一样的数学表达式。这可用于菜单里预设选择下一个选项。)


          <超时>

    超时设置可使用于在若干秒数后自动关闭对话框,并且将预选选项作为被选择项。

例如: wbat box ok,cancel,retry #3,5

   本例中如果5秒后还没有操作的话,对话框将被关闭且作为预选选项的retry键被选择。

重要的:
    预选项必须是一个按钮,因为当超时时 WBAT 产生一个 ENTER 键,而ENTER关闭对话框只能通过按钮!
    当一个键被按下或鼠标被单击时,超时将被取消,但不管有没有效的输入都没有影响。

    最大的超时:3,600秒 

所有资料及WBAT工具可以在本站下载 地址:http://cmdos.net/soft/sort017/down-613.html