📄 翻译.txt
字号:
[$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) 标题栏 (只能用在最左一列)
万一你要在指定的地方用上述的符号 (!) 作为可见的字符,双倍使用它们。
#? (box) 倒计时显示位置
^ 标记一行的结束(只当回车不成功时使用)
膥 (code 196) 分割对话框,总是显示为特别的颜色
: 行开始的冒号(:)作为标签,标记在布局单元的开始和结束处。
_ 下划线用于储藏空间,作为变量的输出 ( 只对紧跟其后的变量有效)
:
:control-title
谀哪口哪目谀?口穆目履哪口哪目? ^
? ? 吵 ?忱 ? 媚穆俪吵
滥哪倮哪馁?滥? ? ? ?滥哪倭哪馁
:
:control-menu “Batch Control” [x]
[ General Info ] 返回的信息
----------------------------------------------------------
[ Errorlevels ] 返回按钮号,GOTO,ESC
----------------------------------------------------------
[ Using Variables ] GOTO 到name, ESC 处理, %%?%%
----------------------------------------------------------
[ ESC Handling ] 条件和特别的处理
----------------------------------------------------------
[ List Box ] 特别的行为和处理
----------------------------------------------------------
[ Batch Labels ] 更多的信息 ...
------------------------------------------------- [ 结束 ]
:
:control-general
# 批处理控制 - 一般信息 ^
WBAT 返回 errorlevel 信息,可选择地,变量对用户的输入起作用。
如何处理“BOXes”( 和菜单) 将在下章中解释。对于“List”对话框,有一些不同,将在专门的章节中解释。
章。
记住:
只有在使用 W.BAT 命令时WBAT 才产生环境变量。
无论如何,为了从输入框、检查框、单选框中获得结果,必须使用这个结构。
重要提示:
当一个对话框被 ESC( 或同等行为 ) 关闭的时候,输入框,检查框和单选框的变量将会保持不变即使他们在框中已经被改变。 这种状况可以在Wbat.ini中修改选项 ESCinput=1 来改变。
:
:errorlevel
# Errorlevels
WBAT 依照所选的按钮号返回一个出错码 (1...) ,按钮号从左到右,从上到下的顺序按1、2、3... 排列,只有按钮被计算。
要使这些出错码有用,DOS 的 ERRORLEVEL 测试被使用。 记住“if ERRORLEVEL n”意思是“如果出错码等于或大于‘n’,通过goto语句跳到所指分支,因此,你必须按从高到低的顺序来排列ERRORLEVEL。
例子: wbat box OK,options,cancel
if errorlevel 3 goto END ( exit code >= 3)
if errorlevel 2 goto OPTIONS ( exit code >= 2)
rem continue here if OK ( exit code <= 1)
Errorlevel 100 将返回ESC。 见专门的章节。
万一“真正的” 错误发生 (比如文件或标签不存在),WBAT返回 errorlevel 255, 和显示一个信息。 WBAT 将会暂停在错误点,除非你的 WBAT.INI 里设置 ErrorPause=0。
:
:variable
# WBAT 变量 ^
由于用CALL W.BAT代替 WBAT.COM,变量可用于输入框,单选框和检查框,也用于按钮和菜单选项(然而, 不能用于“Quick Boxes”,也就是不用布局)
这些变量名被用于 WBAT:
WBAT 按钮和菜单项目
WCB1...WCB9 检查框: 0 或 1(off/on)
WRB 单选按钮: 号码1到9
(input) 布局中指定的名字
批处理中的变量用%%标记,举例来说:
goto %%wbat%%
注意: 任何时候 errorlevel 都会返回。
:
:var-menu [x]
[ button variable ]
[ WBAT string ]
[ the variable ]
[ reset variables ]
:
:var-button
# 按钮变量 ^
WBAT返回被选的按钮、菜单选项的变量,用于GOTO的目标,举例来说。
字串总是一个字,由空格分开。 通常它是第一个( 或唯一的)字,但是如果“& 符号” 用来标记热键,那么这个(完全的)词被获取。例子:
Menu item: [Run Scan&disk]
Jump to label with: GOTO %%WBAT%%
Label required: :SCANDISK
不管热键功能是否开或关,“&”都将被识别。
如果单词当为 WBAT 变量被返回,包括任何符号 (除了文字和数字),这些将被剥离,请确认字符串能作为有效的标签使用。见下页: WBAT string
::
:var-string
# WBAT string ^
因为 WBAT 变量在大多数情况下都将被作为 GOTO 的目标,
而且在批处理中特殊的符号在 DOS 下可能会有问题,因此,WBAT只接受字母(包括高 ASCII 字母) ,数字和下面的这些符号:
@ $ - _ ?
其他所有的符号将被移除。
注意:List box 返回被选的项目不变的
(见 List 章节).
注意:
大写/ 小写被保护。当你比较字符串的时候,要注意。 因为“if string1==string2”与大小写有关!
:
:var-?
# ? 变量 ^
WBAT 出错码也作为环境变量~%%?%%返回,除非这一功能在 INI 文件 (ELvar) 中被关掉。 这在菜单中可便利的控制条的位置。
例子: set mpos=1 设定起始位置
:MAIN
call w.bat menu :main #%%mpos%% 最后使用位置
set mpos=%%?%% 把新的位置存档
在这个例子中,选择条被设置到最后选择的位置。 因为使用数学表达式如( a-b 或是 a+b ),你甚至可以选择下一个位置:
call w.bat :menu #%%mpos%%+1
注意:这个方法只在菜单下工作 (或只用在对话框按钮中),因为选择条将设置在其他控件上, 返回的%%?%%变量只指向按钮。
:
:var-reset
# 重新设定变量 ^
避免环境空间溢出(见Setup/Environment),当变量不再用时,你必须清除它。
例子: set name=
在批处理文件结束时,使用一个 FOR 循环清除一些变量。
举例来说:
for %%%%a in (wbat wcb1 wcb2 wrb input) do set %%%%a=
set ?=
在FOR循环语句中圆括号()里的变量名不要带“?”和“*”,因为批处理解释器会尝试寻找相配的文件(!)。
在 Windows 下的 DOS 对话框被关闭的时,你不需要清除变量。
:
:ESC-handling
# ESCAPE 处理 ^
当一个对话框被 ESC 关闭时,指定的的信息被 WBAT 返回,为了允许适当的行动。
跟 ESC 键的同等的是:
-> Alt-F4 键,, 或点击“[x]”( 如果[x]有效的)
-> 在对话框外面单击鼠标右键( 除非在 WBAT.INI 中禁用)
->>> 在布局中用“?”标记的按钮上单击(Click)/(回车)Enter 如 [? cancel]
按下ESCAPE后,返回出错码(errorlevel) 100。 WBAT 变量被设定...
.. 如果可以的话,可以命名ESCAPE 按钮 - 在对话框布局的任何地方放置按钮。
.. 如果在布局中没有 ESC 按钮,可命名“last”按钮。
( 在“quick boxes”中, ESC 按钮无效)。
注意:如果最后的控件不是一个按钮,变量将会是空的。
:
:ESC-handling2
# ESCAPE handling ^
在你的布局里用特别的ESCAPE按钮是很容易处理的。
if errorlevel 100 goto....将会捕捉任何的ESCAPE动作
或: goto %%wbat%%~ 将会完全的处理(如果有适当的标签)
如果在你的布局里没有设置一个ESCAPE按钮。建议设置具有 cancel/exit 的最后一个按钮。
if errorlevel <last button number> goto ....
记得用上述的所有数字测试 last button 的 errorlevel,包括 100.
goto %%wbat%% 替代选择也很容易处理,因为任何的ESCAPE动作都按照 last button 设置变量。
:
:list-handling
# 列表处理 ^
WBAT LIST 指令用于提供各种类型的项目,像文件或目录名。注意下列与其他的 WBAT boxes的不同:
* 被选项返回的不是 errorlevel,因为项目可以超过255。用 %%?%% 变量获得返回数。
* 当一个项目被选择的时候,返回 Errorlevel 0。
Errorlevel 254用于ESCAPE,255 用于真正的错误(程序出错)。
这意味着:你能用 if errorlevel 100 ... 测试ESC,像你习惯于用其他对话框一样。
* %%wbat%% 变量被设定成全部的变量被选择 (也就是来自源文件的所有行). 见下页。
* 按 ESC 后 WBAT 变量将被清空。
* 热键不能用于 list box。
:
:list-variable
# 列表变量 ^
选项作为一个真正的变量返回,就象在列表中创建的一样( 因为它不象其它对话框一样是用 GOTO 跳到目标的)。
WBAT 返回完整的项目字串包括空格和特殊的符号(但,开头和结尾的空格将被移除。)
只有一个例外:等号将会一被空格取代,因为在SET语句中 DOS 不接受另外的一个等号。
:
:label-prefix
# 标签前缀 ^
在一个批处理文件里有几个对话框时,你可以获得从不同的对话框中返回的同样的变量字符串。
要在使用 GOTO %%wbat%% 时不出现重复的标签,请使用不同的前缀。
例子: GOTO A-%%wbat%%
假定你有一个按钮字串“拷贝”, 然后...
一个标签可能是: A-COPY
另外一标签: B-COPY
:
:labels
# 标签 ^
在 DOS 和 Windows 95/98 下,批处理的标签最长不能超过8个字符,超出的将被忽略。
你可以使用更长的标签, 但要确定在最初8个字符必须有明确的不一样。
注意:标签长度在视窗 NT/2000 和4DOS 下没有限制,布局文件里的也一样。
无论如何你应该避免不能用于DOS文件名的符号,“?” 没有问题。
特别的欧洲文字:
标签不区分大小写,但是指令在变换高位的ASCII字符时有一个bug,像德国的“变音(Umlauts)”。为了安全起见,请在标签中用大写的Umlauts,这样,不管 GOTO 变量是大写还是小写都不会出什么问题,能被适当的处理。
:
:handling-title
? 口哪目谀?柯哪目? ?谀?口哪目^
媚哪疵哪拇??吵吵 ???吵哪?
? 亮亮滥倭哪馁聊哪倭 ?滥倮哪牧
:
:handling-menu "Keyboard, mouse handling" [x]
[ ESCAPE ] ESC 和等价的指令、按钮
----------------------------------------------
[ Box handling ] 一般处理
----------------------------------------------
[ Input ] 在输入栏中编辑
----------------------------------------------
[ Flush ] 键盘缓冲区
--------------------------------------[ 结束 ]
:
:handle-escape
# ESCAPE and equivalents ^
这些键与 ESCAPE 有相同的效果:
Alt+F4, Alt+"X"
用鼠标有三个方法触发 ESCAPE:
* 用鼠标左键单击右上角的[x] - 如果在布局中提供的话。
* 在对话框外面右单击 - 除非在 WBAT.ini 中被“rightESC=0”抑制。
* 单击对话框里标记为“ESCAPE”的按钮(用?号作为身份识别)。
:
:handle-box
# 一般对话框的处理 ^
鼠标单击 ...
按钮 选择按钮并关闭对话框
输入栏 进入编辑模态并设定光标
检查框 选择状态
单选框 设定 "ON"
键盘: 移动条功能键:
forward 移动光标向右或向下,TAB
backwaard 移动光标向左或向右,shift+TAB
top/bottom 置顶/结束
ENTER 选择按钮并关闭对话框。
但 ENTER 在其他的控件上则仅起到移到下一个的作用。
ENTER 在最后的控件将关闭对话框。
检查框和单选按钮用空格键触发。
热键用 ALT+热键。
:
:Handle-input
# 在输入栏中编辑 ^
在输入栏中这些编辑键得到支持:
光标的 left/right,home,end
insert( ON/OFF)
backspace,del
ctrl+del( 清除剩余的区域)
光标位置也用被鼠标设定。
注意:
在击键前,如果字符串仍然高亮,第一个可见的键,就象DEL键一样,将清空字符串。 移动或
设定光标保留可用于编辑的文本。
当在一个输入栏 (编辑模态) 中光标为可见时,你可用热键激活按钮(只须同时按下ALT)
:
:handle-flush
# 刷新键盘缓冲区 ^
当一个程序还没准备好接受输入的时候 , 你按的键将被保存在BIOS键盘缓冲区中。
一旦这程序 ( 或是下一个程序 )接受输入,这些键击将被识别。
如果你不想用户有意或无意的输入盲键,你应该在一个新的对话框出现之前让 WBAT 清空键盘缓冲区。
在 WBAT.INI 中设定: KeybFlush=1 ( 内定值是 0:走开)
:
:tip-close
# 自动关闭 DOS 对话框
当批处理运行在GUI窗口中时,你也许想在批处理结束时自动关闭 DOS 对话框。这可以通过设置DOS对话框的属性--->程序栏,勾选完成时自动关闭窗口。
在 Win95/98 下工作还有另一个方法,甚至在你不能控制的其它人的计算机上: CLS。
这很有意义,因为没有任何理由来保持窗开启,不管它是否完全空的。
请确定“ECHO is OFF”(否则指令将会显示出来,而且,屏幕将不再是空的。屏幕被清空,黑底白字(ANSI 颜色开启?)。
如果你只想在出现一个错误时停止, 可设置 WBAT 对话框返回码为
errorlevel 1:
if errorlevel 1 wbat box "Error" close
cls
::
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -