bat腳本語言
❶ .bat批處理文件用的是什麼語言
較早的年代,多在DOS狀態下,用Qbasic編寫出來的。
也可以在 cmd中 edit 命令 進去編寫 保存為.bat格式的文件的
現在比較簡單的方法就是直接用記事先編寫,然後保存格式改bat即可。
❷ bat和vbs腳本 有什麼區別 詳細點! 謝謝
bat腳本是依賴於cmd命令窗口的一種腳本語言。
vbs腳本是使用vbasic語言編寫的腳本語言,基於wscript.exe程序來運行。
兩者語法上相差很大.vbs腳本功能更加地強大,他能調用dll動態庫完成一些bat不能完成的功能。同時bat與vbs可以互相調用。
❸ .bat的語言的用法
net use * /d /y 取消所有網路連接,並且不提示確認。
比如你的qq在c:\program files\tencent\qq\bin\qq.exe
你就用
start "c:\program files\tencent\qq\bin\qq.exe"
就可以了。
下面是常用命令:
1、@
這個符號大家都不陌生,email的必備符號,它怎麼會跑到批處理中呢?呵呵,不是它的錯,批處理本來就離不開它,要不就不完美了。它的作用是讓執行窗口中不顯示它後面這一行的命令本身(多麼繞口的一句話!)。呵呵,通俗一點說,行首有了它的話,這一行的命令就不顯示了。在例五中,首行的@echo off中,@的作用就是讓腳本在執行時不顯示後面的echo off部分。這下懂了吧?還是不太懂?沒關系,看完echo命令簡介,自然就懂了。
2、echo
中文為「反饋」、「回顯」的意思。它其實是一個開關命令,就是說它只有兩種狀態:打開和關閉。於是就有了echo on和echo off兩個命令了。直接執行echo命令將顯示當前echo命令狀態(off或on)執行echo off將關閉回顯,它後面的所有命令都不顯示命令本身,只顯示執行後的結果,除非執行echo on命令。在例五中,首行的@命令和echo off命令聯合起來,達到了兩個目的:不顯示echo off命令本身,不顯示以後各行中的命令本身。的確是有點亂,但你要是練習一下的話,3分鍾包會,不會的退錢!
echo命令的另一種用法一:可以用它來顯示信息!如例五中倒數第二行,Default BAT file name is START.BAT將在腳本執行後的窗口中顯示,而echo命令本身不顯示(為什麼??)。
echo命令的另一種用法二:可以直接編輯文本文件。例六:
echo nbtstat -A 192.168.0.1 > a.bat
echo nbtstat -A 192.168.0.2 >> a.bat
echo nbtstat -A 192.168.0.3 >> a.bat
以上腳本內容的編輯方法是,直接是命令行輸入,每行一回車。最後就會在當前目錄下生成一個a.bat的文件,直接執行就會得到結果。
3、::
這個命令的作用很簡單,它是注釋命令,在批處理腳本中和rem命令等效。它後面的內容在執行時不顯示,也不起任何作用,因為它只是注釋,只是增加了腳本的可讀性,和C語言中的/*…………*/類似。地球人都能看懂,就不多說了。
4、pause
中文為「暫停」的意思(看看你的workman上),我一直認為它是批處理中最簡單的一個命令,單純、實用。它的作用,是讓當前程序進程暫停一下,並顯示一行信息:請按任意鍵繼續. . .。在例五中這個命令運用了兩次,第一次的作用是讓使用者看清楚程序信息,第二個是顯示錯誤的匯編代碼信息(其實不是它想顯示,而是masm程序在顯示錯誤信息時被暫它停了,以便讓你看清楚你的源代碼錯在哪裡)。
5、:和goto
為什麼要把這兩個命令聯合起來介紹?因為它們是分不開的,無論少了哪個或多了哪個都會出錯。goto是個跳轉命令,:是一個標簽。當程序運行到goto時,將自動跳轉到:定義的部分去執行了(是不是分不開?)。例五中倒數第5行行首出現一個:,則程序在運行到goto時就自動跳轉到:標簽定義的部分執行,結果是顯示腳本usage(usage就是標簽名稱)。不難看出,goto命令就是根據這個冒號和標簽名稱來尋找它該跳轉的地方,它們是一一對應的關系。goto命令也經常和if命令結合使用。至於這兩個命令具體用法,參照例五。
goto命令的另一種用法一:提前結束程序。在程序中間使用goto命令跳轉到某一標簽,而這一標簽的內容卻定義為退出。如:
……
goto end
……
:end
這里:end在腳本最後一行!其實這個例子很弱智,後面講了if命令和組合命令你就知道了。
6、%
這個百分號嚴格來說是算不上命令的,它只是批處理中的參數而已(多個%一起使用的情況除外,以後還將詳細介紹),但千萬別以為它只是參數就小看了它(看看例五中有多少地方用到它?),少了它批處理的功能就減少了51%了。看看例七:
net use \\%1\ipc$ %3 /u:"%2"
11.BAT \\%1\admin$\system32 /y
13.BAT \\%1\admin$\system32 /y
ipc2.BAT \\%1\admin$\system32 /y
NWZI.EXE \\%1\admin$\system32 /y
attrib \\%1\admin$\system32\10.bat -r -h -s
以上代碼是Bat.Worm.Muma病毒中的一部分,%1代表的IP,2%代表的username,3%代表password。執行形式為:腳本文件名 參數一 參數二 ……。假設這個腳本被保存為a.bat,則執行形式如下:a IP username password。這里IP、username、password是三個參數,缺一不可(因為程序不能正確運行,並不是因為少了參數語法就不對)這樣在腳本執行過程中,腳本就自動用用你的三個參數依次(記住,是依次!也是一一對應的關系。)代換1%、2%和3%,這樣就達到了靈活運用的目的(試想,如果在腳本中直接把IP、username和password都定義死,那麼腳本的作用也就被固定了,但如果使用%的話,不同的參數可以達到不同的目的,是不是更靈活?)。
關於這個參數的使用,在後續章節中還將介紹。一定要非常熟練才行,這需要很多練習過程,需要下點狠工夫!
這一章就寫到這里了。可能有朋友問了:怎麼沒介紹if命令?呵呵,不是我忘了,而是它不容易說清楚,下一章再講了!這一章講的這點東西,如果你是初學者,恐怕也夠消化的了。記住一句話:DOS是批處理的BODY,任何一個DOS命令都可以被用在批處理腳本中去完成特定的功能。到這里,你是否已經想到了用自己肚子里的東西去寫點帶有自動化色彩的東東呢?很簡單,就是一個DOS命令的集合而已,相信自稱為天才的你已經會把計算機等級考試上機試題中的DOS部分用批處理來自動化完成了。
煩!就好象一個半老女人到了更年期,什麼事都想嘮叨幾句,什麼事都感到不舒服,看誰誰不爽。明知山有虎,偏向虎山行,最後留下一身傷痕無功而返時,才發現自己竟然如此脆弱,如此渺小,如此不堪一擊。徘徊在崩潰的邊緣,突然回想起了自己最後一次扁人的那一刻,還真有點懷念(其實我很不喜歡扁人,更不喜歡被人扁)。我需要發泄,我用手指拚命的敲打著鍵盤,在一陣接一陣有節奏的聲音中,屏幕上出現了上面的這些文字。可難道這就是發泄的另一種方式嗎?中國人還是厲害,早在幾千年前孔老夫子就說過「唯女子與小人,難養也」,真**有先見之明,佩服!雖然是在發泄,不過大家請放心,以我的脾氣,既然決定寫這篇教程,就一定會盡力去寫好,寫完美,絕對不給自己留下遺憾,要不這教程就不是我寫的!
曾經有一篇經典的批處理教程出現在你的屏幕上,你沒有保存,直到找不到它的鏈接你才後悔莫及,人世間最大的痛苦莫過於此。如果上天能給你一個再看一次的機會,你會對那篇教程說三個字:我愛你!如果非要給這份愛加上一個期限,你希望是100年。因為100年後,你恐怕早已經掛了!而現在,你的屏幕上出現了這篇你正在看的批處理教程,雖然不如你曾經看的那篇經典,但如果勉強還過的去。你會愛它嗎?時間會有50年那麼長嗎?答案是:試試看吧。
批處理腳本中最重要的幾個命令,將在這一章詳細介紹,但是很遺憾,有些細節到現在我都沒掌握的很好,甚至還有些生分。如同還不太懂得愛一樣。但我一直都在努力,即使一直都沒有收獲。所以可能講的會比較籠統,但我會告訴你方法,剩下的就是時間問題了,需要自己去磨練。讓我們共同努力吧。冰凍三尺非一日之寒,滴水穿石非一日之功。有些事情,比如學批處理,比如愛一個人,都是不能速成的,甚至還會有付出艱辛而收獲為甚微的情況。再次重申,看這篇教程的時候,一定要靜下心來,除非你已經掌握了這篇教程的所有東西----但那也就不必看了,浪費時間!
7、if
接上一章,接著講if命令。總的來說,if命令是一個表示判斷的命令,根據得出的每一個結果,它都可以對應一個相應的操作。關於它的三種用法,在這里分開講。
(1)、輸入判斷。還是用例五裡面的那幾句吧:
if "%1"=="" goto usage
if "%1"=="/?" goto usage
if "%1"=="help" goto usage
這里判斷輸入的參數情況,如果參數為空(無參數),則跳轉到usage;如果參數為/?或help時(大家一般看一個命令的幫助,是不是輸入的/?或help呢,這里這么做只是為了讓這個腳本看起來更像一個真正的程序),也跳轉到usage。這里還可以用否定形式來表示「不等於」,例如:if not "%1"=="" goto usage,則表示如果輸入參數不為空就跳轉到usage(實際中這樣做就沒意義了,這里介紹用法,管不了那麼多了,呵呵。)是不是很簡單?其實翻譯成中文體會一下就understand了。
(2)、存在判斷。再看例二里這句:
if exist C:\Progra~1\Tencent\AD\*.gif del C:\Progra~1\Tencent\AD\*.gif
如果存在那些gif文件,就刪除這些文件。當然還有例四,都是一樣的道理。注意,這里的條件判斷是判斷存在的,當然也可以判斷不存在的,例如下面這句「如果不存在那些gif文件則退出腳本」:if not exist C:\Progra~1\Tencent\AD\*.gif exit。只是多一個not來表示否定而已。
(3)、結果判斷。還是拿例五開刀(沒想到自己寫的腳本,竟然用處這么大,呵呵):
masm %1.asm
if errorlevel 1 pause & edit %1.asm
link %1.obj
先對源代碼進行匯編,如果失敗則暫停顯示錯誤信息,並在按任意鍵後自動進入編輯界面;否則用link程序連接生成的obj文件。這里只介紹一下和if命令有關的地方,&命令後面會講到。這種用法是先判斷前一個命令執行後的返回碼(也叫錯誤碼,DOS程序在運行完後都有返回碼),如果和定義的錯誤碼符合(這里定義的錯誤碼為1),則執行相應的操作(這里相應的操作為pause & edit %1.asm部分)。
另外,和其他兩種用法一樣,這種用法也可以表示否定。用否定的形式仍表達上面三句的意思,代碼變為:
masm %1.asm
if not errorlevel 1 link %1.obj
pause & edit %1.asm
看到本質了吧?其實只是把結果判斷後所執行的命令互換了一下,「if not errorlevel 1」和「if errorlevel 0」的效果是等效的,都表示上一句masm命令執行成功(因為它是錯誤判斷,而且返回碼為0,0就表示否定,就是說這個錯誤不存在,就是說masm執行成功)。這里是否加not,錯誤碼到底用0還是1,是值得考慮的兩個問題,一旦搭配不成功腳本就肯定出錯,所以一定要體會的很深刻才行。如何體會的深刻?練習!自己寫一個腳本,然後把有not和沒有not的情況,返回碼為0或1的情況分別寫進去執行(怎麼,嫌麻煩啊?排列組合算一下才四中情況你就嫌麻煩了?後面介紹管道命令和組合命令時還有更麻煩的呢!怕了?呵呵。),這樣從執行的結果中就能很清楚的看出這兩種情況的區別。
這種用errorlevel結果判斷的用法是if命令最難的用法,但也恰恰是最有用的用法,如果你不會用errorlevel來判斷返回碼,則要達到相同的效果,必須用else來表示「否則」的操作,是比較麻煩的。以上代碼必須變成:
masm %1.asm
if exist %1.obj link %1.obj
else pause & edit %1.asm
關於if命令的這三種用法就say到這里,理解很簡單,但應用時就不一定用的那麼得心應手,主要是熟練程度的問題。可能有的朋友有點驚訝,我怎麼沒給出類似下面三行的用法介紹,是因為下面三行是if命令幫助里對它自身用法的解釋,任何人只要一個「if /?」就能看到,我沒有必要在這里多費口舌;更重要的原因,是我覺得這樣介紹的不清楚,看的人不一定看的懂,所以我採用上面自己對if命令的理解來介紹。一定要注意的是,這三種用法的格式各不相同,而且也是不能改變的,但實際上可以互換(以為從本質上講,這三種用法都是建立在判斷的基礎上的,哲學教我們學會透過現象看事物本質!)。有興趣的朋友可以自己研究一下。
IF [NOT] ERRORLEVEL number do command
IF [NOT] string1==string2 do command
IF [NOT] EXIST filename do command
8、call
學過匯編或C的朋友,肯定都知道call指令表示什麼意思了,在這里它的意思其實也是一樣的。在批處理腳本中,call命令用來從一個批處理腳本中調用另一個批處理腳本。看例八(默認的三個腳本文件名分別為start.bat、10.bat和ipc.bat):
start.bat:
……
CALL 10.BAT 0
……
10.bat:
……
ECHO %IPA%.%1 >HFIND.TMP
……
CALL ipc.bat IPCFind.txt
ipc.bat:
for /f "tokens=1,2,3 delims= " %%i in (%1) do call HACK.bat %%i %%j %%k
有沒有看出什麼不對的地方?沒看出來啊?沒看出來就對了,其實就沒有不對的地方嘛,你怎麼看的出來!從上面兩個腳本,你可以得到如下信息:1、腳本調用可以靈活運用,循環運用、重復運用。2、腳本調用可以使用參數!關於第一點就不多說了,聰明的你一看就應該會,這里說一下第二點。
在start.bat中,10.bat後面跟了參數0,在執行時的效果,其實就是把10.bat里的參數%1用0代替。在start.bat中,ipc.bat後面跟了參數ipcfind.txt(一個文件,也可以做參數),執行時的效果,就是用ipc.bat中的每一行的三個變數(這里不懂沒關系,學過for命令後就懂了),對應代換ipc.bat中的%%i、%%j和%%k。這里參數調用是非常靈活的,使用時需要好好體會。在初學期間,可以先學習只調用腳本,至於連腳本的參數一起使用的情況,在後面的學習中自然就會有比較深刻的理解,這是因為當你已經可以靈活運用批處理腳本後,如何使代碼寫的更精簡更完美更高效就自然包括到了考慮的范圍,這時候你就會發現在調用腳本時直接加入參數,可以使代碼效率加倍。By the way,上面的這幾個腳本,都是Bat.Worm.Muma病毒的一部分,在後面的教程里,大家將有機會見到這個病毒的真面目。 那是不是說,在同一個目錄下至少存在兩個批處理腳本文件(只有一個你調用誰?)?呵呵,注意了,這句話錯了!!只有一個照樣可以調用----調用自身!看例九(默認腳本文件名a.bat):
net send %1 This is a call example.
call a.bat
這兩句一結合,效果自然不怎麼樣,因為只有一台機器來發消息,誰怕誰啊?我給你來個禮尚往來!可如果有100台機器同時執行,而且每台機器開10和窗口同時向一個目標機器發消息的話,呵呵。這里call a.bat的作用就是調用自身,執行完前一句net send命令後再調用自身,達到了循環執行的目的。
給出一個很有意思的腳本,有興趣的朋友可以實驗一下。例十(默認腳本文件名為a.bat):
call a.bat
一定要在DOS窗口下執行,否則只會看到一個窗口一閃而過,看不到最後結果。等執行完後,當腳本被執行了1260次,別忘了想一下到底是為什麼!愛情有時候跟這個腳本一樣,一旦陷入死循環,最後的結果都是意想不到的。只是愛情,絕對不會等到被毫無理由的循環這么多次,也許在第三次時就出現了love is aborted的提示。
9、find
這是一個搜索命令,用來在文件中搜索特定字元串,通常也作為條件判斷的鋪墊程序(我怎麼突然想起了這四個字?)。這個命令單獨使用的情況在批處理中是比較少見的,因為沒什麼實際意義。還是借例三來說明:
@echo off
netstat -a -n > a.txt
type a.txt | find "7626" && echo "Congratulations! You have infected GLACIER!"
del a.txt
pause & exit
先用netstat命令檢查是否有冰河默認的埠7626在活動,並把結果保存到a.txt中。然後使用type命令列出a.txt中的內容,再在列出的內容中搜索字元串「7626」 ,發現有的話則提示中了冰河,否則退出。看,find命令其實就這么簡單,但有一點必須要注意到:如果不使用type命令列出a.txt中的內容,而是直接使用find命令在a.txt中找「7626」(find a.txt "7626" && echo "Congratulations! You have infected GLACIER!"),就必須得給出這個a.txt的絕對路徑(我試過了,find並沒有默認路徑就是當前路徑的功能,必須手動指定。也許是我錯了,歡迎指正)。因為在find命令的幫助里有這么一句話:如果沒有指定路徑,find將搜索鍵入的或者由另一個命令產生的文字。這里的「另一個命令」自然就指的type命令了。
至於find命令的其他幾個參數如v、n、i等,有興趣的朋友自己去研究吧,這已經屬於DOS學習的內容了,這里就不做介紹。關於find命令和其他命令的一些更精妙的用法(有些簡直令人叫絕),後續的教程中將介紹,希望關注。
10、for、set、shift
為什麼把這三個命令放到一起來講?原因除了我說明外,恐怕誰也想不到!很簡單的一句話:其實我也不太懂!是的,對於這兩個命令,我是從研究Bat.Worm.Muma病毒開始學習的,時間過去了不少,但還是沒完全搞明白,我怕講出來連自己都看不懂,我更怕不小心講錯了成了罪人。所以我給出一個腳本去告訴你,如何讓這兩個命令給自己留一個初步的印象,其實也就是這兩個命令的入門,而並不是說如何領會這兩個命令。因為要領會如此精妙的兩個命令(特別是for)談何容易!也許你會表揚我說我誠實、不懂就不懂;也許你會罵我,讓我既然不懂就趕緊滾蛋,不要在這里丟人顯眼;也許你還會說一些別的這樣那樣好聽或不好聽的話,都隨便你了,即使我不同意你說的話,我也會誓死捍衛你說話的權利。看例十一:
@echo off
for /? > for.txt
set /? > set.txt
shift /? >shift.txt
exit
執行後在當前路徑下就生成for.txt、set.txt和shift.txt三個文件,裡面分別記錄了for命令、set命令和shift命令的幫助信息。地球人都能看懂,我就不多說了。我在網上曾經找了很長時間這三個命令的教程,但都不理想,基本都是照搬的幫助信息。我想在自己完全掌握了這兩個命令後,一定要寫一篇用自己的文字總結出來的for、set和shift教程(關於shift命令,後面介紹批處理的參數時還將涉及到),一定會的,這是我的心願之一!需要注意的一點是,這三個命令的幫助里 ,介紹的都比較死板,雖然也舉了一些例子,但這是遠遠不夠的。要掌握這兩個命令,最需要的就是耐心!沒寫錯,就是耐心。光是認真看完它們的幫助文字就已經需要足夠的耐心了,要進一步練習領會這兩個命令,難道不需要更大的耐心?
❹ bat是什麼文件
這個是批處理文件
批處理(Batch),也稱為批處理腳本。顧名思義,批處理就是對某對象進行批量的處理,通常被認為是一種簡化的腳本語言,它應用於DOS和Windows系統中。批處理文件的擴展名為bat 。目前比較常見的批處理包含兩類:DOS批處理和PS批處理。PS批處理是基於微軟的強大的PowerShell的,用來批量處理一些任務的腳本;而DOS批處理則是基於DOS命令的,用來自動地批量地執行DOS命令以實現特定操作的腳本。更復雜的情況,需要使用if、for、goto等命令控製程式的運行過程,如同C、Basic等高級語言一樣。如果需要實現更復雜的應用,利用外部程式是必要的,這包括系統本身提供的外部命令和第三方提供的工具或者軟體。批處理程序雖然是在命令行環境中運行,但不僅僅能使用命令行軟體,任何當前系統下可運行的程序都可以放在批處理文件中運行。
有些人認為批處理語言的含義要比上面的描述更廣泛,還包括許多軟體自帶的批處理語言,如 Microsoft Office、Visual Studio、Adobe Photoshop 所內置的批處理語言的功能,用戶可通過它們讓相應的軟體執行自動化操作(例如調整某個資料夾所有 PSD 圖檔的解析度)。 而這類批處理語言也大多提供把一系列操作錄制為批處理文件的功能,這樣用戶不必寫程式就能得到批處理程序。
❺ bat是什麼意思
批處理文件,在DOS和Windows(任意)系統中,.bat文件是可執行文件,由一系列命令構成,其中可以包含對其他程序的調用。
這個文件的每一行都是一條DOS命令(大部分時候就好像我們在DOS提示符下執行的命令行一樣),你可以使用DOS下的Edit或者Windows的記事本(notepad)等任何文本文件編輯工具創建和修改批處理文件。
詳細解釋:
批處理(Batch),也稱為批處理腳本。顧名思義,批處理就是對某對象進行批量的處理,通常被認為是一種簡化的腳本語言,它應用於DOS和Windows系統中。
批處理文件的擴展名為bat或cmd。目前比較常見的批處理包含兩類:DOS批處理和PS批處理。PS批處理是基於強大的圖片編輯軟體Photoshop的,用來批量處理圖片的腳本;而DOS批處理則是基於DOS命令的,用來自動地批量地執行DOS命令以實現特定操作的腳本。
更復雜的情況,需要使用if、for、goto等命令控製程式的運行過程,如同C、Basic等高級語言一樣。
如果需要實現更復雜的應用,利用外部程式是必要的,這包括系統本身提供的外部命令和第三方提供的工具或者軟體。批處理程序雖然是在命令行環境中運行,但不僅僅能使用命令行軟體,任何當前系統下可運行的程序都可以放在批處理文件中運行。
以上內容參考網路—bat
❻ BAT語言怎麼學
批處理,也稱為批處理腳本,英文譯為BATCH,批處理文件後綴BAT就取的前三個字母。它的構成沒有固定格式,只要遵守以下這條就ok了:每一行可視為一個命令,每個命令里可以含多條子命令,從第一行開始執行,直到最後一行結束,它運行的平台是DOS。批處理有一個很鮮明的特點:使用方便、靈活,功能強大,自動化程度高.要學好批處理,DOS基礎一定要牢!當然腦子靈活也是很重要的一方面。
例一、先給出一個最easy的批處理腳本讓大家和它混個臉熟,將下面的幾行命令保存為name.bat然後執行(以後文中只給出代碼,保存和執行方式類似):
ping sz.tencent.com > a.txt
ping sz1.tencent.com >> a.txt
ping sz2.tencent.com >> a.txt
ping sz3.tencent.com >> a.txt
ping sz4.tencent.com >> a.txt
ping sz5.tencent.com >> a.txt
ping sz6.tencent.com >> a.txt
ping sz7.tencent.com >> a.txt
exit
是不是都能看的懂?是不是很easy?但它的作用卻是很實用的,執行這個批處理後,可以在你的當前盤建立一個名為a.txt的文件,它裡面記錄的信息可以幫助你迅速找到速度最快的QQ伺服器,從而遠離「從伺服器中轉」那一痛苦的過程。這里>的意思,是把前面命令得到的東西放到後面所給的地方,>>的作用,和>的相同,區別是把結果追加到前一行得出的結果的後面,具體的說是下一行,而前面一行命令得出的結果將保留,這樣可以使這個a.txt文件越來越大(想到如何搞破壞了??)。By the way,這個批處理還可以和其他命令結合,搞成完全自動化判斷伺服器速度的東東,執行後直接顯示速度最快的伺服器IP,是不是很爽?例二、再給出一個已經過時的例子(a.bat):
@echo off
if exist C:\Progra~1\Tencent\AD\*.gif del C:\Progra~1\Tencent\AD\*.gif
a.bat
為什麼說這是個過時的例子呢?很簡單,因為現在已經幾乎沒有人用帶廣告的QQ了(KAO,我的QQ還顯示好友三圍呢!!),所以它幾乎用不上了。但曾經它的作用是不可小窺的:刪除QQ的廣告,讓對話框乾乾凈凈。這里用的地址是QQ的默認安裝地址,默認批處理文件名為a.bat,你當然可以根據情況自行修改。在這個腳本中使用了if命令,使得它可以達到適時判斷和刪除廣告圖片的效果,你只需要不關閉命令執行後的DOS窗口,不按CTRL+C強行終止命令,它就一直監視是否有廣告圖片(QQ也再不斷查看自己的廣告是否被刪除)。當然這個腳本佔用你一點點內存,呵呵。
例三,使用批處理腳本查是否中冰河。腳本內容如下:
@echo off
netstat -a -n > a.txt
type a.txt | find "7626" && echo "Congratulations! You have infected GLACIER!"
del a.txt
pause & exit
這里利用了netstat命令,檢查所有的網路埠狀態,只需要你清楚常見木馬所使用的埠,就能很easy的判斷出來是否被人種了冰河。然這不是確定的,因為冰河默認的埠7626,完全可以被人修改。這里介紹的只是方法和思路。這里介紹的是方法和思路稍做改動,就變成可以檢查其他木馬的腳本了,再改動一下,加進去參數和埠及信息列表文件後,就變成自動檢測所有木馬的腳本了。呵呵,是不是很過癮?腳本中還利用了組合命令&&和管道命令|,後面將詳細介紹。
❼ bat文件是用的什麼語言來編寫的
可以使用DOS下的Edit或者Windows的記事本(notepad)等任何文本文件編輯工具創建和修改批處理文件。
bat文件是批處理文件,在DOS和Windows(任意)系統中,.bat文件是可執行文件,由一系列命令構成,其中可以包含對其他程序的調用。這個文件的每一行都是一條DOS命令(大部分時候就好像我們在DOS提示符下執行的命令行一樣)。
(7)bat腳本語言擴展閱讀
可以通過條件語句(if)和流程式控制制語句(goto)來控制命令運行的流程,在批處理中也可以使用循環語句(for)來循環執行一條命令。
當然,批處理文件的編程能力與C語言等編程語句比起來是十分有限的,也是十分不規范的。批處理的程序語句就是一條條的DOS命令(包括內部命令和外部命令),而批處理的能力主要取決於你所使用的命令。第三,每個編寫好的批處理文件都相當於一個DOS的外部命令。
可以把它所在的目錄放到你的DOS搜索路徑變數%path%(詳見後面)中來使得它可以在任意位置運行。
一個良好的習慣是在硬碟上建立一個bat或者batch目錄(例如C:BATCH),然後將所有你編寫的批處理文件放到該目錄中,這樣只要在path中設置上c:atch,你就可以在任意位置運行所有你編寫的批處理程序。
參考資料來源:網路-bat
❽ 用什麼語言寫.bat程序
批處理的本質,是一堆DOS命令按一定順序排列而形成的集合。批處理,也稱為批處理腳本,英文譯為BATCH,批處理文件後綴BAT就取的前三個字母。它的構成沒有固定格式,只要遵守以下這條就ok了:每一行可視為一個命令,每個命令里可以含多條子命令,從第一行開始執行,直到最後一行結束,它運行的平台是DOS。批處理有一個很鮮明的特點:使用方便、靈活,功能強大,自動化程度高。編寫也很簡單。只要用記事本把命令寫進去保存為.bat格式就可以了。
❾ 怎樣在bat腳本中調用vbs腳本
@echooff
(echodo&echomsgbox"sss"&echoloop)>a.vbs
start""a.vbs
或是
start1.vbs
或輸入具體路徑
startC:1.vbs
如在某文件夾,如D:1234561.vbs
請用批處理
cdD:123456
start1.vbs
如果文件夾帶空格
請用""符號
如
start"C:ProgramFiles1.vbs"