WBAT教程手冊(cè)完整版_第1頁
WBAT教程手冊(cè)完整版_第2頁
WBAT教程手冊(cè)完整版_第3頁
WBAT教程手冊(cè)完整版_第4頁
WBAT教程手冊(cè)完整版_第5頁
已閱讀5頁,還剩17頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

教程概述在S界面的話框的一個(gè)批處理工具。當(dāng)然也運(yùn)行在純模式下工作。裝b當(dāng)你要使用來制作你自己的批處理時(shí),必須能從你的目錄結(jié)構(gòu)中的某處定位程序文件。M如ph命令列出的那些文件夾個(gè)WT制到一個(gè)已經(jīng)存在的文件夾里這個(gè)文件夾得包含在你已經(jīng)指定的路徑中當(dāng)然你也可以創(chuàng)建新的文件夾,然后將其加入到你的PATH中。把這些文件復(fù)制到path中的那個(gè)“公共”的文件夾中(比如放到系統(tǒng)文件夾下。WBAT.INI第一、二是可執(zhí)行文件。INI文件放在與WBAT要運(yùn)行的程序文件相同的文件夾中。默認(rèn)情況下,文件“PAL.INI”也被放置在那個(gè)“公共”文件夾。然而,如果你不喜歡在那里有太多文件,可以放在子文件夾或磁盤上的任何其他的地方。在這種情況下,你必須修改你的WBAT.INI。詳情見下一節(jié)。(文件“PAL.INI”是顏色調(diào)色板配置文件,在這里可以修改已有的一些顏色)與M的I放的T錄里創(chuàng)的WT在己所在目錄之前總是先在當(dāng)前目錄中尋找WBAT.INI注意:如有到INI文件WA將使用內(nèi)建的與初始的INI文件相同的默認(rèn)值。所有的INI文件里的設(shè)定都可通過變量臨時(shí)改變變量名就是INI文件里的項(xiàng)目名但SETWbutton=blackon+cyanSETWrightESC=0SETWradiosymbol=254如果要返回到INI文件設(shè)定,那么請(qǐng)用類似于下面的方法清除變量。例如:set通常,你能按照DOS規(guī)范(8.3命名)在你的WBAT.INI里指定一個(gè)文件。作為一個(gè)例外,向T(件所在目錄。*對(duì)于默認(rèn)的布局文(或是源文件其名字應(yīng)該被指定并且不加路徑這樣你能使用名字作為局部的默認(rèn)文件,也用于WBAT目錄里的全局的默認(rèn)文件(只需要“+”指出).例子:SourceFile=*PAL.INI必須用完整路徑指定,或者用“+”前綴。例:PalFile=C:\some\where\Pal.INIPalFile=+pal.INI(在WBAT的目錄中)PalFile=+data\Pal.INI(在WBAT的子目錄data中)在D當(dāng)用t的T住清除那些不會(huì)再用于你的批處理的所有變量。功能面貌:一、用“按鈕(buttons),輸入欄(inputfields),菜單(menus),檢查框(checkboxes),單選框(radiobuttons)”來布局對(duì)話框--這些所有的控件可以自由地安排。二“Listbox”是列表框。三“Text”文本輸出“fill”填充屏幕區(qū)域,,清屏(clear),顏色(color)四、你可以自定義顏色“調(diào)色板(palettes)(pal.ini)五“INI文件”用于設(shè)置默認(rèn)值和偏愛。第一部分:漫游wbat--關(guān)于wbat所有功能的息<快速對(duì)話框>讓我們從一個(gè)最簡(jiǎn)單的例子學(xué)起:boxok這是一個(gè)暫停按鈕,提示用戶繼續(xù)在默認(rèn)狀況下所有的對(duì)話框都被放置在屏幕中央。你是不是想改變它的位置呢?行和列可以自左上角處指定。比如你可以這樣:box20,30ok也許你會(huì)擔(dān)心越界“wbatbox2000,3000o但我告訴你大可不必?fù)?dān)心因?yàn)閣bat會(huì)自動(dòng)調(diào)整。我們還可以指定多個(gè)選項(xiàng),如:box20,30ok,cancel但選項(xiàng)之間必須用逗號(hào)分割,言外之意選項(xiàng)名稱中可以有空格.box20,30ok,can cel。如何讓我們的選擇有意義呢?看例子:boxok,canceliferrorlevel2gotocanceliferrorlevel1gotook……明白了吧!這里用到了返回碼,1代表第一個(gè)選項(xiàng)被選中,2代表第二個(gè)選項(xiàng)被選中以此類推。要注意一點(diǎn)“iferrorleveln”示如果返回碼大于等于n,因此這類有關(guān)返回碼的if語句一定要降序排列。還可以加一些提示信息,看例子:box20,30"Continue?"ok,cancel即提示信息要置于雙引號(hào)中,并放在選項(xiàng)的前面。我們還可以改變顏色,看例子:box20,30(blueon+brown)"Continue?"ok,cancel顏色信息在括號(hào)中這里“blue代表字的顏色是藍(lán)色“+brown代表背景的顏色是亮棕色(+代表亮。默認(rèn)的顏色信息儲(chǔ)存在wbat.ini中。好了,學(xué)到這里,究竟為什么叫“快速對(duì)話框”呢?這是因?yàn)闆]有用到“布局(關(guān)于“布局”后文有詳述,所有控件都是直接在命令中輸入的。以上就是關(guān)于快速對(duì)話框的一些內(nèi)容,是不是覺得很有意思?是的話就接著看吧。<對(duì)話框的布局>如果你想要比僅僅是幾個(gè)按鈕更多的功能那么你需要一個(gè)可以自由安排文本和控件的布局控件有按鈕菜單輸入框復(fù)選框單選框在布局中所有的控件都要用方括弧“[]”標(biāo)記??匆粋€(gè)例子:假設(shè)當(dāng)前文件夾下有一個(gè)名字為hero.txt的文本文檔,其中有一段內(nèi)容如下::hero [x]PleaseenteryourandcityNm:[City:[$mycity ][.] [.]female[!]over18[ok][cancel]:在程序文件(即你要運(yùn)行的bat文件)中有如下:boxHYPERLINK\h@hero.txt:hero讓我來解釋一下:在你的wbat命令中,你可以用文件名和標(biāo)布局即指出這個(gè)布在的位置符號(hào)作為前導(dǎo)標(biāo)簽名“:”作為前導(dǎo)例如這里“hero.txt:hero”表示該布局在當(dāng)前目錄下文件“hero.txt”中的“hero”標(biāo)簽下。再來看看hero.txt中的內(nèi)容“:hero標(biāo)記了該布局的起始最后一行“:”標(biāo)記該布局的終止;輸入框一般形式是“[$]“[.]”表示單選框“[!]”表示復(fù)選框“[]”代表按鈕。我再簡(jiǎn)單說說“[$e接收0是指為40,收40個(gè)windos窗口右上角叉功樣,是出對(duì)話框。<按鈕控件>在此之前我們已經(jīng)初窺了按鈕控件的模樣,按鈕的名稱被置于方括號(hào)“[]”中。例如:[ok][cancel]注意:按鈕的名稱不能以“$“.“!”這些符號(hào)開頭,因?yàn)檫@些符號(hào)標(biāo)識(shí)了其它的控件?!?”標(biāo)識(shí)了哪個(gè)按鈕是退出鍵(然而問號(hào)并不會(huì)顯示出來。例如:[ok][?cancel]在這個(gè)例子中如果你選擇了cancel鍵那么系統(tǒng)將執(zhí)行退出操作本例中cancel的返回碼不再是2而是100(這一點(diǎn),與其余的退出操作都一樣,這是因?yàn)樗鼒?zhí)行的是一個(gè)退出操作。<菜單>一、一個(gè)菜單僅僅是一些按鈕控件的羅列如果你想使用菜單的風(fēng)格而不是簡(jiǎn)簡(jiǎn)單單的按鈕bobHYPERLINK\h@hero.txt:hero。我們來看一個(gè)例子,以下代碼是當(dāng)前文件夾hero.txt文件中的一段::hero [x][section1][section2][section3]:其“[x]代表了退出按鈕“section1的返回碼是1“section2的返回碼是2……“[x]”的返回碼是100。在用if語句判斷返回碼時(shí)請(qǐng)注意按降序排列。二、除了返回碼選擇按鈕還名字作為并賦值變量wbat在默認(rèn)情況下只的go看一個(gè)例子:以下代碼是當(dāng)前文件夾hero.txt文件中的一段::hero [x][superhero]hero][hero]:在運(yùn)行的時(shí)候,我們這樣寫:HYPERLINK\h@hero.txt:herogoto:superechosuperheropauseexitechoheropauseexit:heroechoheropauseexit運(yùn)行后,你會(huì)發(fā)現(xiàn)程序并沒有正確執(zhí)行,原因是語句“watmenu…”必須用“callw.bat的“wbat”換成“callw.bat”就行了。關(guān)于這一點(diǎn),后文將會(huì)有詳細(xì)論述。<輸入框>輸入框用符號(hào)“$”標(biāo)記,并在$后面跟一個(gè)變量名,這個(gè)變量將返回輸入的字符串。比如:[$city]。輸入字符串的長(zhǎng)度限制由“[]”括號(hào)所包含的的空格數(shù)決定(也可以在變量后跟一個(gè)數(shù)字來代表輸入長(zhǎng)度。也可定義附加的選擇項(xiàng):強(qiáng)迫大寫P密碼輸入模式!必須輸入(除非方格被ESC關(guān)閉)例子:[$name,40,U!]注意:只做一個(gè)(沒有按鈕的)輸入欄也是可以的。在這種情況下,按回車鍵將關(guān)閉對(duì)話框??匆粋€(gè)例子,一下代碼是當(dāng)前文件夾hero.txt中的一段::hero [x]inputyourpassword:[$password,20,p!]:在執(zhí)行文件中我們需要這樣寫:offcallw.batboxHYPERLINK\h@hero.txt:heroechopause因?yàn)橐a(chǎn)生環(huán)境變量,所以我們得把“wbat”換成“callw.bat。<復(fù)選框>復(fù)選框用于確定某個(gè)選項(xiàng)是否被選中(on/off。要在對(duì)話框里創(chuàng)建一個(gè)復(fù)選框,請(qǐng)?jiān)诜嚼ㄌ?hào)里放置一個(gè)感嘆號(hào)“!。例如:[!]over18注意:鍵用格鍵復(fù)框。復(fù)框被發(fā)ON的記在WBA.INI定義(默認(rèn)符號(hào)“x”)。在一個(gè)對(duì)話框里最多可以有9個(gè)復(fù)選框。每個(gè)復(fù)選框的返回值均為0(off)或1(on),并將第一個(gè)復(fù)選框返回給變量量類推??匆粋€(gè)例子,一下代碼是當(dāng)前文件夾hero.txt中的一段::hero"Checkbox"[x][!]over18[!]DoyouHero?[!]Doyouplaybridge?[ok][?cancel]:在執(zhí)行文件中我們需要這樣寫:offcallw.batboxHYPERLINK\h@hero.txt:heroifequ1(echoover18)else(echobelow18)ifequ1(echoHero'sfriend)else(echonobody)ifequ1(echoyou3nt?)else(echonothing)pause注意:在布局中與標(biāo)簽名同一行的雙引號(hào)中的字符串將被識(shí)別為標(biāo)題。<單選框>單選框用“[]”括號(hào)里加一個(gè)句點(diǎn)“[.]”表示。在提供的幾個(gè)選擇框中,只有一個(gè)可以被選擇,其他的自動(dòng)關(guān)閉。對(duì)于單選框的提示文本,也可以包括到[]括號(hào)里去。例如:[.leftaligned]注意:在中定義。(默認(rèn)值:"*")。在一個(gè)對(duì)話框中你可以定義2~9個(gè)單選框。當(dāng)一個(gè)單選按鈕被選擇時(shí),將返回單選按鈕的號(hào)碼(1,2,3,……),并賦于變量WRB??匆粋€(gè)例子,一下代碼是當(dāng)前文件夾hero.txt中的一段::hero[.]male[.]female[ok]:在執(zhí)行文件中我們需要這樣寫:offcallw.batboxHYPERLINK\h@hero.txt:heroifequ1echoyouareaifequ2echoyouareaPause<列表框>一個(gè)列表看起來像一個(gè)菜單,但它們有一些重要的不同:*在布局中列表不需要用方括號(hào)“[]”來標(biāo)識(shí)。(而是整行被使用)*利用滾動(dòng)條,最多可以顯示32kb的內(nèi)容。一wlist\h@hero.txt[:hero]。如果標(biāo)簽被省略,那么將會(huì)取整個(gè)文本的內(nèi)容。我們還是看一個(gè)例子,這一個(gè)例子列出當(dāng)前目錄的文件。我們可以從中提取一個(gè)文件名。DIR*.*/b/a-d/one>%temp%\temp.txtcalllistbox"Yourselectionwas:^****"del%temp%\temp.txt使用光標(biāo)鍵(上/下)或?qū)⑹髽?biāo)指針移到頂端或底端的滾動(dòng)鈕上并單擊或按住鼠標(biāo)左鍵)你也可以使用T來查看較小的文本文檔(注意:最大的文件大小是32Kb,而且最大行寬是76bytes,超長(zhǎng)的部分將被刪除)下面這個(gè)例子顯示當(dāng)前目錄中WBAT.INI文檔的內(nèi)容。命令:list\h<顯示文本>text”?text”指令提供一些額外的功能:*可在屏幕上的任何位置輸出*本文通過標(biāo)簽在布局文件中讀出(就象對(duì)話框一樣)*如果本文中有變量的話,則該變量將被其值代替。*可以設(shè)置顏色,改變題目和屬性。(默認(rèn)情況下,文本將以當(dāng)前的顏色顯示在屏幕上)二、一般格式T簽,那么將讀出整篇文本文檔。但是,只有一個(gè)屏幕的文本會(huì)被顯示,多余的將不能顯示,沒有滾動(dòng)條。例如:offboxContinuetext\h@hero.txtpause跟通常一樣,左上角的位置被定義為矩形框的位置。默認(rèn)值是1,1。如果文本框超過右下角的邊緣,位置將會(huì)被調(diào)整以適合大小。超過屏幕大小的本文將不能顯示。同時(shí)我們還可以更改顏色。要實(shí)現(xiàn)這樣的一個(gè)本文顯示,可以用如下的命令格式:offboxContinuetext8,16(blueonlightbrown)\h@hero.txtpause三、特殊顏色標(biāo)記你能在布局中使用兩種特殊的顏色來標(biāo)記行或段落(這些顏色在WBAT.INI中定義。1、設(shè)置文本高亮要使文本或段落高亮,可在文本或段落的開始及結(jié)束處分別插入“~”符號(hào)“~”可以通過對(duì)INI文件的[general]段修改HiSymbol來改變)2、文本標(biāo)題放在最左一列的“#”符號(hào)標(biāo)記了標(biāo)題行(任何地方,不只在頁的頂端)。標(biāo)題顏色的寬度是整個(gè)文本的寬度,由最長(zhǎng)的行決定。四、快速文本模式關(guān)于對(duì)話框命令,有一種"快速文本模式(Quicktext)"用于顯示一條簡(jiǎn)短的信息。這就讓我們非常方便的使用指定的顏色來顯示信息,看下面的例子:offboxtext11,30(+whiteonred)"Helloworld!"pause>nul<移動(dòng)光標(biāo)>如果你準(zhǔn)備讓你的屏幕在指定行輸出其他命令運(yùn)行的結(jié)果,你可以使用光標(biāo)命令。舉例來說如果你將文本輸出到屏幕上半部分而后續(xù)的命令輸出到屏幕的中部你可第3d小為offcursor1echoHello!cursor13echoisHero.cursor24echoBye-bye.pause你也可以從任何指定的行開始發(fā)送移行命令給屏幕。例如:cursor10+5<填充,清除>你可以用任何字符或字符串填充一個(gè)矩形框或者只是改變顏色“FILL命令你也可以達(dá)到清屏的目的“wbatfill""這句起到“wbatCLS的效(默認(rèn)的顏色由WBAT.INI定義。語法格式:FILLposition(dimensions)(colors)"string"+s下面解釋一下這些參數(shù):position:左上角的行坐標(biāo)和列坐標(biāo),默認(rèn)是1,1dimensions:填充區(qū)域的寬和高(總是在括號(hào)中。默認(rèn)值:屏幕邊緣。colors:顏色。默認(rèn)值:屏幕顏色(在WBAT.INI中)string:每行中被重復(fù)的字符串(如果字符串省略,那么只有顏色被改變)+s:以后的每一行向左移動(dòng)s個(gè)位置注意:若填充區(qū)域超過屏幕邊緣,將會(huì)被剪切??匆粋€(gè)例子:offboxokfill10,30(9,9)(+cyanonblue)"123456789"+1pause輸出的結(jié)果是每一行都比前一行向左移動(dòng)了一位。<屏幕保存和恢復(fù)>boxes(box/menu/list)總是突然彈出,這意味著當(dāng)對(duì)話框被關(guān)時(shí)T些額外的功能。一、我們利用“FIX”前綴可使對(duì)話框固定,也就是被關(guān)閉后仍保留在屏幕上。這樣你可以打開另一個(gè)對(duì)話框,而第一個(gè)對(duì)話框保持可見(注意:固定的對(duì)話框不能在屏幕上拖動(dòng))例如:FIX9,9HYPERLINK\h@hero.txt:herobox二、save/restore當(dāng)它用于其他輸出(如更多的對(duì)話框,查看文檔等)時(shí),將保存屏幕。如果使用超過一個(gè)文件,需要指定ID號(hào)??蠢?offFIXbox9,9HYPERLINK\h@hero.txt:herofixboxoksaveclspauserestorepause<設(shè)置返回碼>eln”將返回碼設(shè)置為n,這可能在測(cè)試的時(shí)候用到。這功于試wbt.om是解釋找我們?cè)O(shè)置尋常的值并且測(cè)試它。如:el219iferrorlevel219ifnoterrorlevel220gotocontinueechonotfoundgotoexit:continue注意:在2000/xp中,%errorlevel%擴(kuò)充到errorlevel的數(shù)字字符串,前提是不另存在一個(gè)以errorlevel為名的環(huán)境變量。第三部分:布局--對(duì)話框、菜單、文本的布局設(shè)計(jì)<一般信息>一個(gè)布局可以自成一個(gè)文件也可以跟他的布局單元合在一起每個(gè)布局都“標(biāo)簽”作為標(biāo)識(shí)。標(biāo)簽以一個(gè)冒號(hào)為前導(dǎo)符,標(biāo)簽名沒有字長(zhǎng)限制。布局是一個(gè)純ASCII本文。用方括號(hào)[]括起來的對(duì)話框的控件可以被放置在布局中的任何地方。那么一個(gè)布局以什么標(biāo)志結(jié)束呢?答案是當(dāng)遇到以冒號(hào)開頭的行(注意:必須是冒號(hào),而不能是空格)布局總是產(chǎn)生一個(gè)矩形的區(qū)域,這個(gè)矩形的大小取決于最長(zhǎng)的行和行的數(shù)目對(duì)話框?qū)⒓釉谝粋€(gè)框(由上下左右各一條線組成上如果你想要更多的空間請(qǐng)用空格和空行填充。注意:為防止你的編輯器將一行后面的空白字段截去,可用字符“^”來標(biāo)記行的結(jié)束(不要擔(dān)心,符號(hào)“^”不會(huì)顯示出來。<布局中的變量>行布局的變量(被符號(hào)起)會(huì)被代,跟批處理一。然在控中請(qǐng)不要使用變量(如:按鈕?,F(xiàn)在教你一招,我們可以限制變量的長(zhǎng)度??匆粋€(gè)例子:此時(shí)變量的字符長(zhǎng)度就被限制為8位(其中下劃線占了三位。在程序文件中:setvar=superhero在輸出中:輸出superher,少了一個(gè)o,原因是變量長(zhǎng)度被限制了。(如果字符串長(zhǎng)度不足8位,那么將會(huì)用空格填滿)<布局風(fēng)格>WT從WI文件里設(shè)定。你可以創(chuàng)喜歡的T時(shí)改寫INI文件中的所有設(shè)置(變量名=W項(xiàng)目名。例如:SETWbutton=blackon+cyanSETWrightESC=0SETWradiosymbol=254(注意:對(duì)話框顏色也可以在box/menu/list指令中指定)<對(duì)話框的框架>你可以在INI文件中為對(duì)話框框架定義一個(gè)不同的圖案,比如說這樣:BoxFrame="|-||||_|"中央的字符應(yīng)該是空白,因?yàn)樗鼘⑻畛鋵?duì)話框。不過用上面的效果不好,你可以這樣:BoxFrame="諛砍忱餒"<對(duì)話框陰影>我們可以在ini文件中設(shè)置對(duì)話框陰影的顏色修“Shadow=+black可以“Shadow”設(shè)置一個(gè)可識(shí)別的顏色。如果要關(guān)掉陰影,<對(duì)話框標(biāo)題>對(duì)話框標(biāo)題可在布局單元中標(biāo)簽所在行中指定(必須用雙引號(hào)括起來。例如,在布局單元中有標(biāo)簽“:label”和對(duì)話框標(biāo)題“Title::label"Title"……標(biāo)題將位于對(duì)話框的中間。顏色由INI文件里的BoxTitle項(xiàng)指定。<對(duì)話框的高亮文本>要高亮顯示一個(gè)單詞或文本段可在單詞或文本段的開始和結(jié)束處加符“~(但在控件中無法實(shí)現(xiàn)該功能。高亮文本的顏色由INI里的BoxHi定義。<特別的ESC按鈕>如果你希望在對(duì)話框的右上角有Windows風(fēng)[x]按鈕,請(qǐng)將它加入到布局文件的標(biāo)簽行里。例如::label[x]……其中方括號(hào)“[]”是不可缺少的,然而任何符號(hào)都可用來代替“x。注意:點(diǎn)一下[x]按鈕有與按退出鍵相同的效果。<布局中的控件>所有的控件都被括在方括號(hào)[]里。方括號(hào)中的第一個(gè)字符決定控件的類型:[$]輸入欄[!]復(fù)選框[.]單選按鈕[?button]退出按鈕[button](其他的)普通按鈕或菜單條目退出按鈕看起來和任何其他的按鈕一樣("?"問號(hào)不顯示,但它觸發(fā)的是ESC鍵。關(guān)于控件的詳細(xì)情況我們已經(jīng)在第一部分中討論過,在此不再復(fù)述。<熱鍵>我們可以改變ini文件中“HotKey=的值來修改熱鍵的標(biāo)記顏色要屏蔽熱鍵功能,一個(gè)字符相同時(shí),可標(biāo)記其他的字符為熱鍵字符。此時(shí),只需在該字符前加個(gè)“例如:對(duì)于按鈕,有“[continue][ca&ncel],此時(shí)cancel按鈕的熱鍵變?yōu)閚。注意:熱鍵字母也可以與ALT鍵組合使用(當(dāng)光是在一個(gè)輸入欄中的時(shí)候,可以用“alt+熱鍵字母”的方法達(dá)到在輸入欄外按熱鍵的效果)例如:[button&][cancel]由于button后有一個(gè)“&,因此button鍵的熱<文本輸出>默認(rèn)情況下文本將以基于屏幕當(dāng)前的顏色顯示在WBAT.INI里沒有默認(rèn)的文本顏色。我們可以在輸出文本前先清屏(修改整個(gè)窗口的顏色,然后再為文本指定顏色。例如:offboxokcls!text2,4oncyan)HYPERLINK\h@hero.txt:heropause<倒計(jì)時(shí)顯示>利用wbat你可以實(shí)現(xiàn)倒計(jì)時(shí)能,并時(shí)可在對(duì)話框的任何置顯示但是不能在控件中顯示,該功能也不能用于快速對(duì)話框。如何實(shí)現(xiàn)呢?我們可以在布局中用記號(hào)“#?”標(biāo)出倒計(jì)時(shí)的位置??匆粋€(gè)例子:在布局文件hero.txt中:hero#?[ok] [cancel]:在程序中offboxHYPERLINK\h@hero.txt:hero#1,15pause程序中“15在運(yùn)行時(shí)會(huì)傳遞“#?使得對(duì)話框顯示倒計(jì)時(shí)15秒這個(gè)對(duì)話框?qū)⒃?5秒之后關(guān)閉,并返回標(biāo)記按鈕的返回碼(注意:用戶的任何輸入都會(huì)取消倒計(jì)時(shí),此時(shí)計(jì)數(shù)會(huì)被“--”代替)<布局中的特別符號(hào)>“[”用于標(biāo)記按鈕或其他控件,直到出現(xiàn)“]”為止?!皛”在文本顯示的時(shí)候,用“~”括起來的那部分文本會(huì)高亮顯示?!?”標(biāo)記文本的標(biāo)題欄(只能用在最左一列(萬一你要在指定的地方使用上述的符號(hào)作為可見的字符,請(qǐng)雙倍使用它們)“#?”布局中的倒計(jì)時(shí)標(biāo)記?!癪”標(biāo)記一行的結(jié)束?!?作為標(biāo)簽的前導(dǎo)符也標(biāo)記了某布局單元的結(jié)束(注意冒號(hào)前不能加別的字符包括空格)“_”下劃線為變量的輸出保留空間(需要緊跟在變量的后面。<wt的基法命令名[參數(shù)]如果要產(chǎn)生變量請(qǐng)用:callW.bat命令名[參數(shù)]第四部分:命令--批處理文件的指令明細(xì)<常用的命令>我們下面將總結(jié)一下先前所學(xué)的命令:一、在使用布局文件的情況下:box/menu/listtext

[位置][顏色][@布局文件名][:標(biāo)簽名][位置][顏色][@布局文件名][:標(biāo)簽名]二、在不使用布局文件的情況下:box [位置][顏色]["提示內(nèi)容"]按鈕text [位置][顏色]"信息" (這個(gè)是在快速文本模式下)fill [位置][填充框的大小][顏色]["填充字符串"][+s]cls [顏色]cursor [行][+增量]stdout @文件名[:標(biāo)簽名]save [id號(hào)]restore [id號(hào)]fixbox/menu/list…(fix前綴使得這些控件在關(guān)閉后仍然駐留在dos框中)<W.bat的結(jié)構(gòu)>為了能產(chǎn)生用于批處理的變量,需要一個(gè)專門的結(jié)構(gòu)。原來那種直接在程序里設(shè)置變量的方法已經(jīng)不再支持。因?yàn)樗荒茉谝暣爸鹿ぷ?的版本來說是不安全的。當(dāng)你想要生產(chǎn)“變量”時(shí)(用于box/menu/list指令),你必須用:call<parameters>來代替:文件W.bat調(diào)用而且能很好的運(yùn)用變量。<W.bt命令>件t給C許9么多。例:callw.batbox5,12(+whiteonblue)HYPERLINK\h@file.txt:label#3,5--------1--2--3-----4----5---6----------7---------8-9為避免空格,整個(gè)參數(shù)字串可用雙引號(hào)括起來。例子:callw.bat"box5,12(+whiteonblue)HYPERLINK\h@file.txt:label#3,5" 引號(hào)內(nèi)的字給將忽略引號(hào)。(注意:快速對(duì)話框不能被用于CALL結(jié)構(gòu)。只通過errorlevel處理)<W.bat的詳細(xì)資料>只在你感興趣的情況下閱讀這一部分(你可以打開你磁盤上的w.bat做參照)T行MW表t的訴M與M個(gè)在第一行執(zhí)行完后被正確執(zhí)行(要理解一件事--w.bat文件的內(nèi)容會(huì)隨著它的調(diào)用而發(fā)生變化,這樣你就會(huì)理解為什么“callw.bat”能夠產(chǎn)生環(huán)境變量了。變W.T的你名W.參數(shù)必須改變?yōu)槲募拿郑ㄈ鏣.BAT就為$T。<多重命令>T例如:cls!text2,5HYPERLINK\h@hero.txt:hero!boxcontinue,back注意:如果“box”指令(box/menuorlist)被包括在內(nèi),則必須放置于最后。在多重指令行中不能使用CALLT結(jié)<位置>這里所謂的位置就是指對(duì)話框彈出時(shí)所在的位置。在此之前,我們已經(jīng)接觸過不少,例如這一句:box9,9OK,Cancel參數(shù)“9,9”就是對(duì)話框的位置。所有的對(duì)話框都能定義位置(行和列,就跟EXT和FILL一樣。位置是指對(duì)話框的左上角所處的坐標(biāo)。本位是“1,1。如果個(gè)box或text輸出超正屏幕的右下角邊緣WAT將自動(dòng)調(diào)整位置。在默認(rèn)的情況下boxe(box/menu/list對(duì)話框放置于屏幕中央如果只有行坐標(biāo)被規(guī)定,對(duì)話框?qū)⒎胖糜谒街虚g位置。而Text和Fill將從本位“1,1”開始。<尺寸>這里所謂的尺寸就是指對(duì)話框彈出時(shí)的大小。boxes(box/menu/list)和text的輸出大小由布局定義(最長(zhǎng)的行和行數(shù)。FILL命令比較特殊,它允許指定行和列,行數(shù)和列數(shù)用圓括號(hào)“()”括起來。例如:FILL5,12(10,30)(whiteonblue)"$"(默認(rèn)大小:一直到屏幕邊緣)<顏色>默認(rèn)的顏色在WBAT.INI中定義。如果INI文件不存在,或顏色在INI文件中沒有定義,那么內(nèi)建的默認(rèn)值將被使用。注意:默認(rèn)的文本顏色是當(dāng)前的屏幕的文本顏色,而不是由INI指定。顏色用這個(gè)格式定義:前景色在S正常的顏色分別為“black,red,green,blue,brown,cyan,magenta,white”共8種若選擇明亮的顏色,請(qǐng)用“bright”或用“+”符號(hào)做前綴(亮棕色“bright例子:brightonblueonblueblackon需要注意的是:WBAT指令中的顏色表達(dá)式總是用圓括號(hào)()括起來。<布局參考>不知道你現(xiàn)在對(duì)布局二字理解的如何這里所說的布局其實(shí)就是一段代碼這段代碼用于布置程序中要用到的控件和一些其它元素(由于有些東西沒法直接寫在命令中。box/menu/list指令的布局由文件名和標(biāo)簽定義,這是我們已經(jīng)知道的,具體的寫法在這里不再復(fù)述。通常你能依照DOS習(xí)慣定義文件或者沒有路徑,或者是相對(duì)路徑或者是完整的路用8.3指T例如:callw.batboxHYPERLINK\h@+dialog.txt:START在多數(shù)情況下你可以省略文件名字,為什么?請(qǐng)繼續(xù)閱讀。<默認(rèn)的布局文件名>在INI文件里你可以設(shè)定默認(rèn)的布局文件建議指定默認(rèn)的文件時(shí)不要用路徑如下面的例子,你可以用本地的默認(rèn)名字,就跟在全局的布局文件一樣:callw.batbox:START用于在當(dāng)前目錄callw.batbox+:START用于與M<本地批處理文件>當(dāng)一個(gè)批處理文件總是在自己的目錄中運(yùn)行時(shí)你可以使用這個(gè)目錄中的布局文件不需要指定路徑。即該布局文件處于當(dāng)前目錄。例如:callw.batHYPERLINK\h@hero.txt:hero<全局批處理文件>如果要一個(gè)批處理在任何的目錄中都能運(yùn)行,那么該BAT文件就必須在PAH設(shè)置的目錄里這一點(diǎn)相信大家都明白“本地批理文件不同“全局批處理文件不存“當(dāng)知T位和M你就可以用“+”前綴來指向這一目錄了(是不是方便了很多。舉例來說:callw.bat+hero.txt:hero本例中hero.txt處于“公共”文件夾中。(注意:你不需要為每個(gè)項(xiàng)目都設(shè)計(jì)一個(gè)單獨(dú)的文件,只需要確定文件內(nèi)沒有重復(fù)的標(biāo)簽。布局文件的大小是沒有限制的)<批處理文件作為布局源文件>在此之前我們都是用別的文件作為布局文件其實(shí)批處理文件本身也可以做布局文件。如果這樣請(qǐng)確定你的批處理過程不會(huì)執(zhí)行布局部分并且沒有任何重復(fù)的標(biāo)簽為了指定0例如:callw.batbox注意:由于wbat不支持中文,當(dāng)路徑中含有中文的時(shí)候?qū)⒌貌坏秸_結(jié)。<默認(rèn)的擴(kuò)展名>實(shí)際情況下,%0參數(shù)被替代時(shí),擴(kuò)展名.BAT會(huì)省略。既然如此,無論何時(shí),如果指定的布局文件沒有擴(kuò)展名WBAT都會(huì)假設(shè)其擴(kuò)展名為.bat基于這一個(gè)理由請(qǐng)不要使用沒有擴(kuò)展名的布局文件。第五部分:控制--返回碼和變量<一般控制信息>通過之前的學(xué)習(xí)我們已經(jīng)知道用戶的輸入一般是通過返回碼起作用的請(qǐng)記住只有在使用callW.BAT命令時(shí)WBAT才產(chǎn)生環(huán)境變量。無論如何,為了從輸入框、檢查框、單選框中獲得結(jié)果,必須使用這個(gè)結(jié)構(gòu)。重要提示:當(dāng)一個(gè)對(duì)話框被ES(或同等行為關(guān)閉的時(shí)候輸入框檢查框和單選框的變量將會(huì)保持不變即使他們?cè)诳蛑幸呀?jīng)被改(相當(dāng)于不強(qiáng)制保存這種狀況可以在Wbat.ini中修改選項(xiàng)ESCinput=1來改變。<返回碼>T返回一個(gè)返回碼,按鈕從左到右、從上到下的順序按1、2、3...排列,只有按鈕被計(jì)算。記住“ifERRORLEVELn”意思是“如果返回等于或大于‘n,通過goto語句跳到所指分支,因此,你必須按從高到低的順序來排列返回碼。例如:boxOK,options,canceliferrorlevel3gotoiferrorlevel2gotoiferrorlevel1goto退出該對(duì)話框操作的返回碼是100。萬一“真正的”錯(cuò)誤發(fā)生(比如文件或標(biāo)簽不存Terrorlevel255,時(shí)T在WBAT.INI里設(shè)置ErrorPause=0wt由于用CALLT替用于按鈕和菜單選項(xiàng)(然而,于 接收按鈕、菜單項(xiàng)目和列表的返回。W19接收檢查框的返回(0或1(off/on)。 接收單選按鈕的返回(號(hào)碼1到9)輸入框有些特別,它用布局中所指定的變量返回輸入框的內(nèi)容。批處理中的變量用“%”標(biāo)記,舉例來說:goto<按鈕變量>按鈕變量%以所選按鈕或菜單項(xiàng)的名字返回,它一般會(huì)作為命令的對(duì)象。返回的字符串只能是一個(gè)單而按鈕或菜單項(xiàng)的名字卻可以是多個(gè)單詞因此通常以名字的例如:[RunScan&disk]goto:Scandiskwt為T為O在S,T$-_?其他所有的符號(hào)將被移除(但列表框所返回的內(nèi)容是不受上述約束的)注意:返回時(shí)大寫/小寫被保護(hù)。當(dāng)你比較字符串的時(shí)候,要注意。因?yàn)椤?/p>

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論