c语言创建一个bat文件内容,基础教程:如何创建批处理文件
不要聽了批處理文件就感到很神氣,其實這東西很簡單的.你用過記事本沒有?用過? 好的.將記事本打開,什么都不用寫,然后選擇文件,保存.保存類型選擇所有文件,文件名則命名為 *.bat 這個*代表是文件名,你可以隨便的起.保存好之后,看看你保存的地方,會出現(xiàn)一個白色窗口里有個X色齒輪的圖標(biāo).這東西就是你創(chuàng)建的批處理文件,雙擊他就可以運(yùn)行,但他現(xiàn)在由于里面沒有輸入任何命令,所以他運(yùn)行了并不會做任何事情.當(dāng)我們想往這個*.bat文件中添加?xùn)|西時,只要右鍵選擇他,然后選擇編輯,就可以打開記事本往內(nèi)輸入命令了.
批處理文件中的命令是什么?
批處理文件中的命令暫時先可以理解為dos命令,等稍后深入理解了以后再進(jìn)行解釋.批處理顧名思義就是一大堆東西堆在一起處理.換句話說就是往里面寫一條條dos命令,然后按順序挨個執(zhí)行,效果跟你在cmd里敲dos命令是一個效果.只不過用批處理寫好之后,要運(yùn)行只要雙擊下就可以運(yùn)行了.而不用再一遍一遍的重復(fù)的往里面打命令.這就是批處理文件的好處.
除了運(yùn)行dos命令之外,他還可以支持選擇結(jié)構(gòu)if,循環(huán)結(jié)構(gòu)for,goto等,與c有點(diǎn)類似,但遠(yuǎn)沒有c全面,并且編寫語言十分不規(guī)范.
批處理語法:
先講個最基本的東西 @echo off
echo的意思是回旋,這里的意思就是回顯,echo off意思就是關(guān)閉回顯.前面的@表示echo off 這一行也不會回顯你可以試著去掉@和整行去掉.@的另一個功能是在執(zhí)行完批處理文件時自動恢復(fù)命令回顯。如果第一句用的是ECHO OFF,那么在執(zhí)行完批處理文件以后不會顯示命令提示符。
舉個例子:如果我們先創(chuàng)建一個1.bat文件,往里面輸入:
dir 然后保存在c:\下.然后我們運(yùn)行cmd,進(jìn)入c盤根目錄下,輸入1.bat,則顯示:
C:>dir
驅(qū)動器 C 中的卷沒有標(biāo)簽。
卷的序列號是 0C5D-07FF
C: 的目錄
2004-08-25 00:45
2004-08-25 00:51
...........
C:
如果將1.bat內(nèi)容修改成
echo off
dir
然后再在cmd里輸入1.bat,則會顯示
C:>echo off //因為運(yùn)行了echo off,所以沒有顯示dir命令,直接顯示了結(jié)果
驅(qū)動器 C 中的卷沒有標(biāo)簽。
卷的序列號是 0C5D-07FF
C: 的目錄
2004-08-25 00:45
2004-08-25 00:51
.....
C:
如果將1.bat文件修改成:
@echo off
dir
則顯示成:
C:>1.bat //與前面不同,并沒有顯示echo off,原因是加了@,所以不顯示@后面的內(nèi)容.又因為加
//了echo off,所以后面的命令不顯示,直接顯示結(jié)果
驅(qū)動器 C 中的卷沒有標(biāo)簽。
卷的序列號是 0C5D-07FF
C: 的目錄
2004-08-25 00:45
2004-08-25 00:51
....
C:
通過以上的比較,相信你對echo off命令已經(jīng)充分掌握了.
接下來講的是call命令:
call是打電話的call,而不是"喔靠"的靠:).call的意思為調(diào)用.假如有2個批處理文件a.bat和b.bat.如果我想運(yùn)行 a.bat的當(dāng)中運(yùn)行b.bat.如何運(yùn)行呢?其實很簡單,只要在a.bat文件中輸入call命令,則可以在a.bat運(yùn)行的當(dāng)中,運(yùn)行b.bat,等 b.bat運(yùn)行完之后,繼續(xù)執(zhí)行a.bat
call命令格式:
CALL [drive:][path]filename [batch-parameters]
batch-parameters 指定批處理程序所需的命令行信息。
舉例如下,我們在c盤根目錄下創(chuàng)建a.bat文件,內(nèi)容為:
echo this is a.bat
call d:b.bat
echo done
然后在d盤根目錄下創(chuàng)建b.bat,內(nèi)容為:
echo this is b.bat
保存后,打開cmd,進(jìn)入c盤根目錄,然后輸入1.bat,顯示如下:
C:>a.bat
C:>echo this is a.bat
this is a.bat
C:>call d:b.bat
C:>echo this is b.bat
this is b.bat
C:>echo done
done
由例子很容易看出來,是先運(yùn)行a.bat的內(nèi)容,直到遇到call b.bat后,則調(diào)用b.bat,運(yùn)行完b.bat后,再返回a.bat接著運(yùn)行call b.bat后面的echo done語句,直至將a.bat的所有批處理命令運(yùn)行完.
注:里面有個[batch-parameters]里面的所指的參數(shù)是什么,知道的朋友能否告知,不勝感激.
PAUSE 命令
暫停批處理程序的執(zhí)行并顯示一條消息,提示用戶按任意鍵繼續(xù)執(zhí)行。只能在批處理程序中使用該命令。
rem命令:
表示此命令后的字符為解釋行(注釋),不執(zhí)行,只是給自己今后參考用的(相當(dāng)于程序中的注釋).
同時你可以用兩個冒號來替代rem.如: ::等同于一個rem.但他們有個區(qū)別,就是用::作注釋的話他是不回顯的,即使你打echo on強(qiáng)制回顯也沒有用的.同時rem可以在config.sys中加注釋.
語法: rem[commnet]
批處理文件參數(shù):
有點(diǎn)變成基礎(chǔ)的人都知道函數(shù)有參數(shù).批處理文件也有參數(shù).
我打個比方,希望能幫助沒有語言基礎(chǔ)的人也能看的非常明白.
我從例子里開始吧.首先在c盤根目錄下創(chuàng)建一個批處理文件 a.bat,里面輸入內(nèi)容
echo %1
然后打開cmd,然后進(jìn)入c盤根目錄.輸入:a "this is a canshu"
得到結(jié)果如下:
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"這句話就是參數(shù),寫在這的參數(shù),在程序運(yùn)行中就將參數(shù)自動放到批處理程序中去.那么放在什么位置呢?就是放在 %1的地方.
看了例子,讓我們看看整個關(guān)于參數(shù)的定義如何:
批處理文件還可以像C語言的函數(shù)一樣使用參數(shù)(相當(dāng)于DOS命令的命令行參數(shù)),這需要用到一個參數(shù)表示符"%"。
%[1-9]表示參數(shù),參數(shù)是指在運(yùn)行批處理文件時在文件名后加的以空格(或者Tab)分隔的字符串。變量可以從%0到%9,%0表示批處理命令本身,其它參數(shù)字符串用%1到%9順序表示。//我們上個程序的例子里就有%1,他就是參數(shù),而輸入中"this is a test"作為參數(shù)就直接放到%1的位置,于是程序就變成了 echo "this is a test".
再舉幾個例子幫助你理解:
C:根目錄下一批處理文件名為b.bat,內(nèi)容為:
@echo off
type %1 //type為dos中的輸出命令,可以用來輸出文本文件的內(nèi)容,比如我們新建一個1.txt文件
//里面輸入內(nèi)容,保存.進(jìn)cmd,如果輸入1.txt則看不了1.txt文件內(nèi)容,但是如果我
//想看怎么辦呢?這時候可以用type命令,只要在cmd里輸入type 1.txt就能顯示
總結(jié)
以上是生活随笔為你收集整理的c语言创建一个bat文件内容,基础教程:如何创建批处理文件的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: edius显示无法连接服务器,如何解决E
- 下一篇: uIP介绍