欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

又一篇不錯(cuò)的批處理bat學(xué)習(xí)教程第4/5頁(yè)

 更新時(shí)間:2007年02月28日 00:00:00   作者:  

綜上:“|”命令的作用,就是讓前一命令的輸出當(dāng)做后一命令的輸入。 

“>、>>” 

這兩個(gè)命令的效果從本質(zhì)上來(lái)說(shuō)都是一樣的,他們都是輸出重定向命令,說(shuō)的通俗一點(diǎn),就是把前面命令的輸出寫(xiě)入到一個(gè)文件中。這兩個(gè)命令的唯一區(qū)別是,>會(huì)清除掉原有文件中的內(nèi)容后把新的內(nèi)容寫(xiě)入原文件,而>>只會(huì)另起一行追加新的內(nèi)容到原文件中,而不會(huì)改動(dòng)其中的原有內(nèi)容。例十五: 
復(fù)制代碼 代碼如下:

echo @echo off > a.bat  
echo echo This is a pipeline command example. >> a.bat  
echo echo It is very easy? >> a.bat  
echo echo Believe your self! >> a.bat  
echo pause >> a.bat  
echo exit >> a.bat  


復(fù)制粘貼上面代碼,將在當(dāng)前目錄下生成一個(gè)a.bat文件,里面的內(nèi)容如下: 

復(fù)制代碼 代碼如下:

@echo off  
echo This is a pipeline command example.  
echo It is very easy?  
echo Believe your self!  
pause  
exit  


看到這里,你得到了多少信息?1、可以直接在DOS提示符下利用echo命令的寫(xiě)入功能編輯一個(gè)文本,而不需要專門的文本編輯工具;2、管道命令>和>>的區(qū)別如上所述。如果這里只用>命令來(lái)完成上面操作,最后也會(huì)生成一個(gè)a.bat,但里面的內(nèi)容就只剩下最后一行exit了。所以>和>>一般都聯(lián)合起來(lái)用,除非你重定向的輸出只有一行,那么就可以只用>了。結(jié)合例一再仔細(xì)體會(huì)輸出重定向管道命令>和>>的用法。 

“<、>&、<&” 

這三個(gè)命令也是管道命令,但它們一般不常用,你只需要知道一下就ok了,當(dāng)然如果想仔細(xì)研究的話,可以自己查一下資料。 

<,輸入重定向命令,從文件中讀入命令輸入,而不是從鍵盤(pán)中讀入。 
>&,將一個(gè)句柄的輸出寫(xiě)入到另一個(gè)句柄的輸入中。 
<&,剛好和>&相反,從一個(gè)句柄讀取輸入并將其寫(xiě)入到另一個(gè)句柄輸出中。 

關(guān)于這三個(gè)管道命令的舉例,在后面批處理腳本的精妙應(yīng)用中還將涉及到。 


下面介紹組合命令:&、&&、|| 

組合命令,顧名思義,就是可以把多個(gè)命令組合起來(lái)當(dāng)一個(gè)命令來(lái)執(zhí)行。這在批處理腳本里是允許的,而且用的非常廣泛。它的格式很簡(jiǎn)單----既然現(xiàn)在已經(jīng)成了一個(gè)文件了,那么這多個(gè)命令就要用這些組合命令連接起來(lái)放在同一行----因?yàn)榕幚碚J(rèn)行不認(rèn)命令數(shù)目。組合命令的作用,就如同給愛(ài)人陪不是,說(shuō)一句是說(shuō),說(shuō)十句也是說(shuō),不一次把好話都說(shuō)了出來(lái),效果可能會(huì)好些----當(dāng)然得排除一種特殊情況:這些話是否有先后順序,有些話是否可以同時(shí)說(shuō)。在批處理腳本里也一樣,有些時(shí)候某些命令是不能同時(shí)執(zhí)行的,后面給你說(shuō)。 

“&”: 

這可以說(shuō)是最簡(jiǎn)單的一個(gè)組合命令了,它的作用是用來(lái)連接n個(gè)DOS命令,并把這些命令按順序執(zhí)行,而不管是否有命令執(zhí)行失敗。例十六:
copy a.txt b.txt /y & del a.txt 

其實(shí)這句和move a.txt b.txt的效果是一樣的,只不過(guò)前者是分了兩步來(lái)進(jìn)行的(在后面還將涉及到具體使用哪種方法的問(wèn)題)。這個(gè)命令很簡(jiǎn)單,就不多費(fèi)口舌了,唯一需要注意的一點(diǎn)是,這里&兩邊的命令是有執(zhí)行順序的,從前往后執(zhí)行。 


“&&”: 

切記,這里介紹的幾個(gè)命令都是組合命令,所以他們前后都必須都有其他命令(要不如何組合?)。這個(gè)命令也不例外,它可以把它前后兩個(gè)命令組合起來(lái)當(dāng)一個(gè)命令來(lái)用,與&命令不同之處在于,它在從前往后依次執(zhí)行被它連接的幾個(gè)命令時(shí)會(huì)自動(dòng)判斷是否有某個(gè)命令執(zhí)行出錯(cuò),一旦發(fā)現(xiàn)出錯(cuò)后將不繼續(xù)執(zhí)行后面剩下的命令。這就為我們自動(dòng)化完成一些任務(wù)提供了方便。例十七: 

dir 文件://1%/www/user.mdb && copy 文件://1%/www/user.mdb e:\backup\www 

如果遠(yuǎn)程主機(jī)存在user.mdb,則copy到本地e:\backup\www,如果不存在當(dāng)然就不執(zhí)行copy了。這句對(duì)搞網(wǎng)管的朋友是否有點(diǎn)用呢?呵呵。其實(shí)它和下面這句的作用是一樣的: 

if exist 文件://1%/www/user.mdb copy 文件://1%/www/user.mdb e:\backup\www 

至于你喜歡用哪個(gè)就隨便了,我沒(méi)辦法判斷dir和if兩個(gè)命令哪一個(gè)執(zhí)行效率更高,所以不知道用哪個(gè)更好,呵呵。 

你是否還記得“有些命令是不能同時(shí)執(zhí)行的”?你是否相信這句話?當(dāng)然得相信,不信就給你出道題:把C盤(pán)和D盤(pán)的文件和文件夾列出到a.txt文件中。你將如何來(lái)搞定這道題?有朋友說(shuō),這還不是很easy的問(wèn)題嗎?同時(shí)執(zhí)行兩個(gè)dir,然后把得到的結(jié)果>到a.txt里就ok了嘛,看例十八: 

dir c:\ && dir d:\ > a.txt 

仔細(xì)研究一下這句執(zhí)行后的結(jié)果,看看是否能達(dá)到題目的要求!錯(cuò)了!這樣執(zhí)行后a.txt里只有D盤(pán)的信息!為什么?就因?yàn)檫@里&&命令和>命令不能同時(shí)出現(xiàn)一個(gè)句子里(批處理把一行看成一個(gè)句子)??!組合命令&&的優(yōu)先級(jí)沒(méi)有管道命令>的優(yōu)先級(jí)高(自己總結(jié)的,不妥的地方請(qǐng)指正)!所以這句在執(zhí)行時(shí)將本分成這兩部分:dir c:\和dir d:\ > a.txt,而并不是如你想的這兩部分:dir c:\ && dir d:\和> a.txt。要使用組合命令&&達(dá)到題目的要求,必須得這么寫(xiě): 

dir c:\ > a.txt && dir d:\ >> a.txt 

這樣,依據(jù)優(yōu)先級(jí)高低,DOS將把這句話分成以下兩部分:dir c:\ > a.txt和dir d:\ >> a.txt。例十八中的幾句的差別比較特殊,值得好好研究體會(huì)一下。 

當(dāng)然這里還可以利用&命令(自己想一下道理哦): 

dir c:\ > a.txt & dir d:\ >> a.txt 

“||”: 

這個(gè)命令的用法和&&幾乎一樣,但作用剛好和它相反:利用這種方法在執(zhí)行多條命令時(shí),當(dāng)遇到一個(gè)執(zhí)行正確的命令就退出此命令組合,不再繼續(xù)執(zhí)行下面的命令。題目:查看當(dāng)前目錄下是否有以s開(kāi)頭的exe文件,如果有則退出。例十九: 

Copy code
@echo off 
dir s*.exe || exit 

其實(shí)這個(gè)例子是有破綻的,你看出來(lái)了嗎?其實(shí)很簡(jiǎn)單,自己試試就知道了嘛:如果存在那個(gè)exe文件,就退出;如果不存在那個(gè)exe文件,也退出!為什么?因?yàn)槿绻淮嬖谀莻€(gè).exe文件,則前一條命令dir s*.exe執(zhí)行肯定是不成功的,所以就繼續(xù)執(zhí)行exit,自然就退出了,呵呵。那么如何解決題目給出的問(wèn)題呢?看例二十: 


Copy code
@echo off 
dir s*.exe || echo Didn't exist file s*.exe & pause & exit 

這樣執(zhí)行的結(jié)果,就能達(dá)到題目的要求,是否存在s*.exe將出現(xiàn)兩種結(jié)果。這里加暫停的意思,當(dāng)然是讓你能看到echo輸出的內(nèi)容,否則一閃而過(guò)的窗口,echo就白寫(xiě)了。 

給出兩個(gè)更好研究?jī)?yōu)先級(jí)(同時(shí)也是更難理解)的腳本,仔細(xì)研究它們的區(qū)別,以便徹底理解各種命令的優(yōu)先級(jí)順序,對(duì)以后自己利用這些命令寫(xiě)腳本有很大的好處----不會(huì)出錯(cuò)!OK,請(qǐng)看例二十一和例二十二。

例二十一: 

@echo off 
dir a.ttt /a & dir a.txt || exit 

例二十二: 

@echo off 
dir a.ttt /a && dir a.txt || exit

相關(guān)文章

最新評(píng)論