- ·上一篇文章:wbat教程第三部分:布局--对话框、菜单、文本的布局设计
- ·下一篇文章:wbat教程第五部分:控制--返回码和变量
- ·百度中搜索更多的关于“wbat教程第四部分:命令--批处理文件的指令明细”相关内容
- ·谷歌中搜索更多的关于“wbat教程第四部分:命令--批处理文件的指令明细”相关内容
- ******申明******
- 本站文章内容有部分为收录网络中其他网友内容,DOS资源站不保证所有的代码都适合你使用。
- 由于编辑匆忙,有可能造成某些脚本文件出现丢失代码或代码无法运行的情况,请网友根据情况自行修改。
- 如果能将出错部分反馈给我,那就更好了。
wbat教程第四部分:命令--批处理文件的指令明细
<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

