最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

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

 更新時間:2007年02月28日 00:00:00   作者:  

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

“>、>>” 

這兩個命令的效果從本質(zhì)上來說都是一樣的,他們都是輸出重定向命令,說的通俗一點,就是把前面命令的輸出寫入到一個文件中。這兩個命令的唯一區(qū)別是,>會清除掉原有文件中的內(nèi)容后把新的內(nèi)容寫入原文件,而>>只會另起一行追加新的內(nèi)容到原文件中,而不會改動其中的原有內(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)前目錄下生成一個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命令的寫入功能編輯一個文本,而不需要專門的文本編輯工具;2、管道命令>和>>的區(qū)別如上所述。如果這里只用>命令來完成上面操作,最后也會生成一個a.bat,但里面的內(nèi)容就只剩下最后一行exit了。所以>和>>一般都聯(lián)合起來用,除非你重定向的輸出只有一行,那么就可以只用>了。結(jié)合例一再仔細體會輸出重定向管道命令>和>>的用法。 

“<、>&、<&” 

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

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

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


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

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

“&”: 

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

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


“&&”: 

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

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

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

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

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

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

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

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

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

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

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

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

“||”: 

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

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

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


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

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

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

例二十一: 

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

例二十二: 

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

相關(guān)文章

最新評論

佳木斯市| 那曲县| 鄢陵县| 浏阳市| 新晃| 兰西县| 武定县| 容城县| 建宁县| 岚皋县| 天津市| 舒兰市| 日照市| 南川市| 平潭县| 襄城县| 承德县| 偏关县| 永清县| 神池县| 灵山县| 中方县| 海南省| 陆丰市| 武穴市| 丽江市| 万宁市| 运城市| 西贡区| 永年县| 波密县| 炉霍县| 中江县| 利川市| 莫力| 丰都县| 南开区| 金寨县| 阜平县| 商河县| 视频|