亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 編程 > BAT > 正文

批處理入門與提高

2020-07-26 20:34:00
字體:
來源:轉載
供稿:網友
大家知不知道默認共享這回事?這東西用不著的地方可就不是好東西了.所以就要刪掉.但這東西是每次系統重起后都會重新創建的.所以每次都要重新打開cmd重新刪掉一下.極為麻煩.但有了批處理文件就不一樣了,先把命令輸入到批處理文件中,然后加入到啟動項中,每次啟動就會自動運行,免去了每次輸入命令的麻煩.
如何創建批處理文件?
將記事本打開,什么都不用寫,然后選擇文件,保存.保存類型選擇所有文件,文件名則命名為*.bat這個*代表是文件名,你可以隨便的起.保存好之后,看看你保存的地方,會出現一個白色窗口里有個黃色齒輪的圖標.這東西就是你創建的批處理文件,雙擊他就可以運行,但他現在由于里面沒有輸入任何命令,所以他運行了并不會做任何事情.當我們想往這個*.bat文件中添加東西時,只要右鍵選擇他,然后選擇編輯,就可以打開記事本往內輸入命令了.
批處理文件中的命令是什么?
批處理文件中的命令暫時先可以理解為dos命令,等稍后深入理解了以后再進行解釋.批處理顧名思義就是一大堆東西堆在一起處理.換句話說就是往里面寫一條條dos命令,然后按順序挨個執行,效果跟你在cmd里敲dos命令是一個效果.只不過用批處理寫好之后,要運行只要雙擊下就可以運行了.而不用再一遍一遍的重復的往里面打命令.這就是批處理文件的好處.
除了運行dos命令之外,他還可以支持選擇結構if,循環結構for,goto等,與c有點類似,但遠沒有c全面,并且編寫語言十分不規范.
批處理語法:
先講個最基本的東西 @echo off
echo的意思是回旋,這里的意思就是回顯,echo off意思就是關閉回顯.前面的@表示echo off 這一行也不會回顯你可以試著去掉@和整行去掉.@的另一個功能是在執行完批處理文件時自動恢復命令回顯。如果第一句用的是ECHO OFF,那么在執行完批處理文件以后不會顯示命令提示符。
舉個例子:如果我們先創建一個1.bat文件,往里面輸入:
dir 然后保存在c:\下.然后我們運行cmd,進入c盤根目錄下,輸入1.bat,則顯示:
C:/>dir 驅動器 C 中的卷沒有標簽。 卷的序列號是 0C5D-07FF
 C:/ 的目錄
2004-08-25  00:45  <DIR> WINDOWS2004-08-25  00:51<DIR> Documents and Settings
.....
C:/
如果將1.bat內容修改成
echo off
dir
然后再在cmd里輸入1.bat,則會顯示 
C:/>echo off
//因為運行了echo off,所以沒有顯示dir命令,直接顯示了結果 驅動器 C 中的卷沒有標簽。 卷的序列號是 0C5D-07FF
 C:/ 的目錄
2004-08-25  00:45  <DIR> WINDOWS2004-08-25  00:51<DIR> Documents and Settings
.....
C:/
如果將1.bat文件修改成:
@echo offdir
則顯示成:
C:/>1.bat        
//與前面不同,并沒有顯示echo off,原因是加了@,所以不顯示@后面的內容.又因為加
//了echo off,所以后面的命令不顯示,直接顯示結果 驅動器 C 中的卷沒有標簽。 卷的序列號是 0C5D-07FF
 C:/ 的目錄
2004-08-25  00:45  <DIR> WINDOWS2004-08-25  00:51<DIR> Documents and Settings
.....
C:/
通過以上的比較,相信你對echo off命令已經充分掌握了.
接下來講的是call命令:
call的意思為調用.假如有2個批處理文件a.bat和b.bat.如果我想運行a.bat的當中運行b.bat.如何運行呢?其實很簡單,只要在a.bat文件中輸入call命令,則可以在a.bat運行的當中,運行b.bat,等b.bat運行完之后,繼續執行a.bat
call命令格式:
CALL [drive:][path]filename [batch-parameters]
batch-parameters   指定批處理程序所需的命令行信息。
舉例如下,我們在c盤根目錄下創建a.bat文件,內容為:
echo this is a.bat
call d:/b.bat
echo done
然后在d盤根目錄下創建b.bat,內容為:
echo this is b.bat
保存后,打開cmd,進入c盤根目錄,然后輸入1.bat,顯示如下:
C:/>a.bat
C:/>echo this is a.batthis is a.bat
C:/>call d:/b.bat
C:/>echo this is b.batthis is b.bat
C:/>echo donedone
由例子很容易看出來,是先運行a.bat的內容,直到遇到call b.bat后,則調用b.bat,運行完b.bat后,再返回a.bat接著運行call b.bat后面的echo done語句,直至將a.bat的所有批處理命令運行完.
注:里面有個[batch-parameters]里面的所指的參數是什么,知道的朋友能否告知,不勝感激.
PAUSE 命令暫停批處理程序的執行并顯示一條消息,提示用戶按任意鍵繼續執行。只能在批處理程序中使用該命令。
rem命令:
表示此命令后的字符為解釋行(注釋),不執行,只是給自己今后參考用的(相當于程序中的注釋).
同時你可以用兩個冒號來替代rem.::等同于一個rem.但他們有個區別,就是用::作注釋的話他是不回顯的,即使你打echo on強制回顯也沒有同的.同時rem可以在config.sys中加注釋.
語法: rem[commnet]
批處理文件參數:
有點編程基礎的人都知道函數有參數.批處理文件也有參數.
我打個比方,希望能幫助沒有語言基礎的人也能看的非常明白. 
我從例子里開始吧.首先在c盤根目錄下創建一個批處理文件 a.bat,里面輸入內容
echo %1
然后打開cmd,然后進入c盤根目錄.輸入:a "this is a canshu"
得到結果如下:
C:/>a.bat "this is a test"
C:/>echo "this is a test""this is a test"
輸入的a "this is a canshu"中,a為新建的a.bat的文件名a(后面的.bat可寫也可不寫),而a后面的 "this is a canshu"這句話就是參數,寫在這的參數,在程序運行中就將參數自動放到批處理程序中去.那么放在什么位置呢?就是放在%1的地方.
看了例子,讓我們看看整個關于參數的定義如何:
批處理文件還可以像C語言的函數一樣使用參數(相當于DOS命令的命令行參數),這需要用到一個參數表示符"%"。%[1-9]表示參數,參數是指在運行批處理文件時在文件名后加的以空格(或者Tab)分隔的字符串。變量可以從%0到%9,%0表示批處理命令本身,其它參數字符串用%1到%9順序表示。//我們上個程序的例子里就有%1,他就是參數,而輸入中"this is a test"作為參數就直接放到%1的位置,于是程序就變成了 echo "this is a test".
再舉幾個例子幫助你理解:
C:根目錄下一批處理文件名為b.bat,內容為: @echo off type %1     
//type為dos中的輸出命令,可以用來輸出文本文件的內容,比如我們新建一個1.txt文件
//里面輸入內容,保存.進cmd,如果輸入1.txt則看不了1.txt文件內容,但是如果我
//想看怎么辦呢?這時候可以用type命令,只要在cmd里輸入type 1.txt就能顯示
//1.txt文件中的內容了 type %2 那么運行C:/>b a.txt b.txt %1 : 表示a.txt %2 : 表示b.txt 
于是上面的批處理命令就變成了
@echo off
type a.txt
type b.txt于是上面的命令將順序地顯示a.txt和b.txt文件的內容。
沒有編程基礎的人可能要問,干什么要弄個參數???在后面加個參數多麻煩???直接往里面寫不就好了啊?!其實這樣想有對的方面也有錯的方面.還是舉個例子說明吧.
第一步還是在c盤根目錄下新建一個批處理文件,我們取名仍為a.bat.往里面的內容輸入為:
ping %1  
//ping命令可以簡單理解為測試一臺機器開著還是沒有開,如果開著的話,他就回給你回送回應.然后進cmd,我們想測試下163的服務器是不是開著,則輸入a www.163.com,對于知道ping命令的人,可以打ping進行檢查,但如果想ping的人不知道ping命令怎么用,那怎么辦???這時候你就可以把命令預先輸入到批處理文件中,保存好,然后讓不會用的人進cmd,運行你的批處理文件,文件名后面加上他要ping 的網站地址就行了.換句話說,他想ping?。保叮尘椭苯蛹樱保叮车木W址,想ping sina就直接加sina的網址.這樣只要輸入一個參數,而不用改程序本身,整個程序的通用性就大大提高了.
這是對于一個簡單的ping命令,你或許覺得用參數不值得,還是直接改不就好了?。绻绦蛴泻芏鄺l,你一下找不到在哪改怎么辦?。克?,只要運行下,輸入參數,結果自己就會出來,不用再象你一樣,考慮怎么編寫批處理文件.人家只要知道是輸入什么東西能讓批處理程序運行,而編寫的人則想的是如何讓不懂程序的人能運行程序.
if命令
舉個例子:如果a喜歡b,那么a就要娶b.這句話翻譯成計算機語言就成了
if a喜歡b a就要娶b.
當然拉,計算機不可能理解a喜歡b,a就要娶b這兩句話,這里只是舉個例子讓你方便理解.
if語句一共有3種模式,如下:
IF [NOT] string1==string2 command
IF [NOT] EXIST filename command
IF [NOT] ERRORLEVEL number command
NOT  指定只有條件為 false 的情況下, Windows XP 才應該執行該命令。
ERRORLEVEL number 如果最后運行的程序返回一個等于或大于指定數字的退出編碼,指定條件為 true。
string1==string2  如果指定的文字字符串匹配,指定條件為 true。
EXIST filename   如果指定的文件名存在,指定條件為 true。
command 如果符合條件,指定要執行的命令。如果指定的條件為 FALSE,命令后可跟一個執行 ELSE關鍵字后的命令的 ELSE 命令。
我們先講解第一種:
IF [NOT] string1==string2 command
自然語句意思:如果string1==string2,那么執行command
下面再舉個能實際應用的if語句.
自然語句:如果輸入的參數為3,那么顯示"a=3"
計算機語句:
@echo offif "%1"=="3" echo "a=3"
或者寫成
@echo offif %1==3 echo "a=3"
注意:當要測試的時候,因在cmd底下,輸入1.bat 3.因為這里用了是傳遞參數,具體看文章前部分"批處理文件參數".
第二種:
IF [NOT] EXIST filename command
這條命令用語檢測文件是否存在.如果存在,執行command.如果不存在,則什么也不顯示.
如:我們想檢查e盤根目錄下是否有一個叫2.txt的文件.如果存在,則顯示exist.如果不存在,則什么也不顯示.
批處理命令如下:
@echo offif exist e:/2.txt echo "exist 2.txt"
第三種:
IF [NOT] ERRORLEVEL number command
這個我引用點資料,感覺別人寫得更詳細,引用部分為粉色字部分:
if errorlevel <數字> 待執行的命令 
很多DOS程序在運行結束后會返回一個數字值用來表示程序運行的結果(或者狀態),通過if errorlevel命令可以判斷程序的返回值,根據不同的返回值來決定執行不同的命令(返回值必須按照從大到小的順序排列)。如果返回值等于指定的數字,則條件成立,運行命令,否則運行下一句。 
如if errorlevel 2 goto x2 
==== 注 ====返回值從大到小的順序排列不是必須的, 而只是執行命令為 goto 時的習慣用法, 當使用 set 作為執行命令時, 通常會從小到大順序排列, 比如需將返回碼置入環境變量, 就需使用以下的順序形式: 
if errorlevel 1 set el=1 if errorlevel 2 set el=2 if errorlevel 3 set el=3 if errorlevel 4 set el=4 if errorlevel 5 set el=5
當然, 也可以使用以下循環來替代, 原理是一致的: for %%e in (1 2 3 4 5 6 7 8...) do if errorlevel %%e set el=%%e 
//此處為一個for循環,后面會繼續介紹到的,看不懂可以先跳過去
if errorlevel 比較返回碼的判斷條件并非等于, 而是大于等于. 由于 goto 的跳轉特性, 由小到大排序會導致在較小的返回碼處就跳出; 而由于 set命令的 "重復" 賦值特性, 由大到小排序會導致較小的返回碼 "覆蓋" 較大的返回碼. 
另外, 雖然 if errorlevel=<數字> command 也是有效的命令行, 但也只是 command.com 解釋命令行時將 = 作為命令行切分符而忽略掉罷了 
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
91人人爽人人爽人人精88v| 亚洲色图综合网| 欧美视频在线观看 亚洲欧| 国产精品久久久久久久久男| 日韩精品在线观看网站| 91国内揄拍国内精品对白| www.日韩欧美| 欧美精品国产精品日韩精品| 欧美色播在线播放| 亚洲一区美女视频在线观看免费| 伊人伊人伊人久久| zzjj国产精品一区二区| 国产一区二区激情| 中文字幕精品国产| 日韩av在线不卡| 国产精品青青在线观看爽香蕉| 欧美日韩亚洲一区二| 亚洲色图第三页| 久久久99久久精品女同性| 亚洲人成电影网站色| 亚洲区免费影片| 国产精品99久久99久久久二8| 亚洲精品一区久久久久久| 国产一区二区黑人欧美xxxx| 8x拔播拔播x8国产精品| 欧美xxxx做受欧美.88| 亚洲免费电影在线观看| 国产精品草莓在线免费观看| 国产精品第2页| 一本色道久久88综合亚洲精品ⅰ| 国产在线不卡精品| 国产精品吴梦梦| 国产精品久久久久久久久久ktv| 国产性色av一区二区| 日韩欧美在线一区| 国产香蕉97碰碰久久人人| 在线丨暗呦小u女国产精品| 国产乱肥老妇国产一区二| 欧美精品电影免费在线观看| 亚洲**2019国产| 国产玖玖精品视频| 国产精品一区二区久久久| 精品视频9999| 久久中文字幕一区| 成人午夜黄色影院| 国产不卡av在线| 国产精品永久免费| y97精品国产97久久久久久| 日韩精品免费在线视频观看| 久久精品国产综合| 国产亚洲精品久久久久动| 欧洲成人在线视频| 国产亚洲精品久久久| 91亚洲精品久久久| 日韩电影在线观看中文字幕| 欧美成人久久久| 精品亚洲夜色av98在线观看| 欧美国产精品人人做人人爱| 中文字幕欧美精品日韩中文字幕| 欧美激情一区二区三区成人| 精品国产鲁一鲁一区二区张丽| 久久成人精品一区二区三区| 国产精品扒开腿做爽爽爽男男| 欧美中在线观看| 国产精品视频1区| 亚洲jizzjizz日本少妇| 九九精品在线观看| 亚洲日本欧美日韩高观看| 一本色道久久88综合日韩精品| 亚洲伊人久久大香线蕉av| 狠狠久久亚洲欧美专区| 国产精品日韩专区| 国产成人一区二区三区| 在线性视频日韩欧美| 色悠久久久久综合先锋影音下载| 欧美电影在线观看高清| 97在线看免费观看视频在线观看| 亚洲日本欧美中文幕| 国产美女91呻吟求| 日韩成人在线观看| 亚洲影院色无极综合| 精品久久久久久久久中文字幕| 亚洲一区第一页| 影音先锋欧美在线资源| 成人国产亚洲精品a区天堂华泰| 亚洲欧美制服丝袜| 国产亚洲a∨片在线观看| 日韩欧美成人精品| 欧美国产日韩中文字幕在线| 91精品国产成人| 伊人一区二区三区久久精品| 国产精品96久久久久久| 久久高清视频免费| 亚洲精品wwwww| 日韩欧美成人网| 色综合久综合久久综合久鬼88| 午夜精品免费视频| 亚洲色图偷窥自拍| 国产丝袜一区二区三区免费视频| 久久精品国产久精国产一老狼| 欧美日韩国产中字| 国产午夜精品免费一区二区三区| 日韩精品中文字幕久久臀| 国产精品福利片| 一区二区三区动漫| 69av在线视频| 福利一区福利二区微拍刺激| 日韩av在线精品| 中文字幕久久久| 欧美大片免费观看在线观看网站推荐| 欧美性视频精品| 国产日韩换脸av一区在线观看| 国产精品狠色婷| 久久久影视精品| 欧美电影免费观看大全| 久久久久久香蕉网| 欧美性猛交xxxx久久久| 国产在线观看精品| 国产一区二区三区视频| 国产精品中文字幕在线观看| 97在线观看免费高清| 亚洲影院高清在线| 欧美视频在线免费看| 国产成人一区二区三区电影| 日韩免费观看av| 亚洲综合国产精品| 亚洲精品视频免费在线观看| 欧美性猛交xxxx免费看| 91精品国产综合久久香蕉| 亚洲国产成人精品电影| 欧美国产精品日韩| 亚洲人高潮女人毛茸茸| 欧美成人国产va精品日本一级| 黑丝美女久久久| 亚洲精品国产欧美| 亚洲最大福利视频网站| 日韩成人在线电影网| 国产精品美女在线观看| 色yeye香蕉凹凸一区二区av| 91天堂在线视频| 国产成人精品一区二区在线| 欧美成人剧情片在线观看| 亚洲网站视频福利| 欧美激情亚洲国产| 国产情人节一区| 久久好看免费视频| 欧美区二区三区| 91久久久国产精品| 97色伦亚洲国产| 亚洲一区二区三区xxx视频| 91精品国产91久久久久久| 91久热免费在线视频| 日韩在线观看免费| 日韩高清电影好看的电视剧电影| 久久亚洲精品中文字幕冲田杏梨| 最近2019中文字幕一页二页| 国产黑人绿帽在线第一区| yellow中文字幕久久| 日韩国产精品一区| 国产女人18毛片水18精品| 91在线无精精品一区二区| 久久人91精品久久久久久不卡| 亚洲在线一区二区| 欧美日韩国产va另类|