<em id="0a85b"><option id="0a85b"></option></em>

<abbr id="0a85b"></abbr>

      <nobr id="0a85b"></nobr>
        <tr id="0a85b"></tr>
        9久久伊人精品综合,亚洲一区精品视频在线,成 人免费va视频,国产一区二区三区黄网,99国产精品永久免费视频,亚洲毛片多多影院,精品久久久无码人妻中文字幕,无码国产欧美一区二区三区不卡
        學(xué)習(xí)啦>學(xué)習(xí)電腦>網(wǎng)絡(luò)知識(shí)>網(wǎng)絡(luò)基礎(chǔ)知識(shí)>

        批處理文件

        時(shí)間: 春健736 分享

          批處理,顧名思義就是進(jìn)行批量的處理。批處理文件是擴(kuò)展名為·bat 或·cmd的文本文件,包含一條或多條命令,由DOS或Windows系統(tǒng)內(nèi)嵌的命令解釋器來(lái)解釋運(yùn)行。。學(xué)習(xí)啦小編給大家分享一下批處理文件怎么設(shè)置的方法。希望大家喜歡!

          批處理文件參考如下:

          批處理文件是一種簡(jiǎn)單的可執(zhí)行文件,常常用來(lái)執(zhí)行清理或簡(jiǎn)單的安裝命令,下面我們來(lái)看一個(gè)練習(xí);

          1、批處理文件

          1)批處理文件的圖標(biāo)是一個(gè)齒輪窗口圖標(biāo)

          ,雙擊運(yùn)行后會(huì)出來(lái)一個(gè)黑色命令行窗口;

          2)在批處理文件圖標(biāo)上點(diǎn)右鍵,里面有一個(gè)“編輯”命令,可以查看文件的內(nèi)容;

          2、批處理命令

          1)echo 是顯示命令,它后面的文字會(huì)原樣顯示在命令行窗口里,前面加上“@”則會(huì)隱藏,

          比如: echo 正在完成,請(qǐng)稍等...

          2)del 是刪除命令,可以刪除指定的文件,星號(hào)“*”代表所有文件,

          比如: echo del *.tmp

          3)rd 是刪除文件夾命令,可以刪除指定文件夾;(更多電腦知識(shí),計(jì)算機(jī)基礎(chǔ)知識(shí)入門(mén),請(qǐng)到http://www.pc6c.com電腦知識(shí)網(wǎng))

          4)pause 暫停命令,這時(shí)候按按一下回車(chē)鍵或空格鍵就可以繼續(xù);

          5)可以用記事本來(lái)創(chuàng)建批處理文件,每行輸入一句命令,保存的時(shí)候以.bat為文件名,類(lèi)型選所有文件;

          ;

          一、基礎(chǔ)語(yǔ)法:

          1.批處理文件是一個(gè)“.bat”結(jié)尾的文本文件,這個(gè)文件的每一行都是一條DOS命令。可以使用任何文本文件編輯工具創(chuàng)建和修改。

          2.批處理是一種簡(jiǎn)單的程序,可以用 if 和 goto 來(lái)控制流程,也可以使用 for 循環(huán)。

          3.批處理的編程能力遠(yuǎn)不如C語(yǔ)言等編程語(yǔ)言,也十分不規(guī)范。

          4.每個(gè)編寫(xiě)好的批處理文件都相當(dāng)于一個(gè)DOS的外部命令,把它所在的目錄放到DOS搜索路徑(path)中,即可在任意位置運(yùn)行。

          5.C:\AUTOEXEC.BAT 是每次系統(tǒng)啟動(dòng)時(shí)都會(huì)自動(dòng)運(yùn)行的,可以將每次啟動(dòng)時(shí)都要運(yùn)行的命令放入該文件中。

          6.大小寫(xiě)不敏感(命令符忽略大小寫(xiě))

          7.批處理的文件擴(kuò)展名為 .bat 或 .cmd。

          8.在命令提示下鍵入批處理文件的名稱(chēng),或者雙擊該批處理文件,系統(tǒng)就會(huì)調(diào)用Cmd.exe來(lái)運(yùn)行該文件。

          二、參數(shù):

          1) 系統(tǒng)參數(shù)

          %SystemRoot% === C:\WINDOWS (%windir% 同樣)

          %ProgramFiles% === C:\Program Files

          %USERPROFILE% === C:\Documents and Settings\Administrator (子目錄有“桌面”,“開(kāi)始菜單”,“收藏夾”等)

          %APPDATA% === C:\Documents and Settings\Administrator\Application Data

          %TEMP% === C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp (%TEM% 同樣)

          %APPDATA% === C:\Documents and Settings\Administrator\Application Data

          %OS% === Windows_NT (系統(tǒng))

          %Path% === %SystemRoot%\system32;%SystemRoot%;%SystemRoot%\System32\Wbem (原本的設(shè)置)

          %HOMEDRIVE% === C: (系統(tǒng)盤(pán))

          %HOMEPATH% === \Documents and Settings\Administrator

          :: 枚舉當(dāng)前的環(huán)境變量

          setlocal enabledelayedexpansion

          FOR /F "usebackq delims==" %%i IN (`set`) DO @echo %%i !%%i!

          2) 傳遞參數(shù)給批處理文件

          %[1-9]表示參數(shù),參數(shù)是指在運(yùn)行批處理文件時(shí)在文件名后加的以空格(或者Tab)分隔的字符串。

          變量可以從%0到%9,%0表示批處理命令本身,其它參數(shù)字符串用 %1 到 %9 順序表示。

          Sample:

          call test2.bat "hello" "haha" (執(zhí)行同目錄下的“test2.bat”文件,并輸入兩個(gè)參數(shù))

          在“test2.bat”文件里寫(xiě):

          echo %1 (打印: "hello")

          echo %2 (打印: "haha")

          echo %0 (打印: test2.bat)

          echo %19 (打印: "hello"9)

          三、批處理基本命令

          0. help 命令

          /? 命令

          語(yǔ)法: 命令 /?

          可顯示此命令的幫助信息

          Sample: type /? >>tmp.txt (把 type 命令的幫助信息寫(xiě)入到tmp.txt文件里)

          Sample: help type (顯示跟“type /?”一樣)

          1.Echo 命令

          語(yǔ)法: echo [{on|off}] [message]

          ECHO [ON | OFF] 打開(kāi)回顯或關(guān)閉回顯功能。

          ECHO 顯示當(dāng)前回顯設(shè)置。

          ECHO [message] 顯示信息。

          echo off 表示在此語(yǔ)句后所有運(yùn)行的命令都不顯示命令行本身;默認(rèn)是on,on時(shí)會(huì)顯示如: C:\文件夾路徑>命令行。

          在實(shí)際應(yīng)用中我們會(huì)把這條命令和重定向符號(hào)( 也稱(chēng)為管道符號(hào),一般用 > >> ^ )結(jié)合來(lái)實(shí)現(xiàn)輸入一些命令到特定格式的文件中。

          Sample: echo off

          Sample: echo hello world (顯示出“hello world”)

          Sample: echo Windows Registry Editor Version 5.00 > c:\setupreg.reg (此前還沒(méi)有 setupreg.reg 這個(gè)文件)

          Sample: echo "SourcePath"="D:\Win2003\" >> c:\setupreg.reg (追加內(nèi)容進(jìn) setupreg.reg 這個(gè)文件)

          2.@ 命令

          表示不顯示@后面的命令,(在入侵過(guò)程中自然不能讓對(duì)方看到你使用的命令啦)

          @ 與 echo off 相象,但它是加在每個(gè)命令行的最前面,表示運(yùn)行時(shí)不顯示這一行的命令行(只能影響當(dāng)前行)。

          Sample: @echo off (此語(yǔ)句常用于開(kāi)頭,表示不顯示所有的命令行信息,包括此句)

          Sample: @echo please wait a minite...

          Sample: @format X: /q/u/autoset

          (format 這個(gè)命令是不可以使用/y這個(gè)參數(shù)的,可喜的是微軟留了個(gè)autoset這個(gè)參數(shù)給我們,效果和/y是一樣的。)

          3.Goto 命令

          語(yǔ)法:goto label (label是參數(shù),指定所要轉(zhuǎn)向的批處理程序中的行。)

          指定跳轉(zhuǎn)到標(biāo)簽行,找到標(biāo)簽行后,程序?qū)⑻幚韽南乱恍虚_(kāi)始的命令。

          label標(biāo)簽的名字可以隨便起,但是最好是有意義的,字母前必須加個(gè)冒號(hào)“:”來(lái)表示這個(gè)字母是標(biāo)簽。

          goto命令就是根據(jù)這個(gè)冒號(hào)來(lái)尋找下一步跳到到那里。經(jīng)常與 if 配合使用,根據(jù)不同的條件來(lái)執(zhí)行不同的命令組。

          例題見(jiàn)“5.Pause 命令”

          4.Rem 命令

          語(yǔ)法:Rem Message...

          (小技巧:用::代替rem)

          注釋命令,在C語(yǔ)言中相當(dāng)與/*...*/,它并不會(huì)被執(zhí)行,只是起一個(gè)注釋的作用,便于別人閱讀和自己日后修改。

          Sample:@Rem Here is the description.

          5.Pause 命令

          會(huì)暫停批處理的執(zhí)行并在屏幕上顯示Press any key to continue...的提示,等待用戶按任意鍵后繼續(xù)

          Sample:

          @echo off

          :begin

          copy a:*.* d:\back

          echo Please put a new disk into driver A

          pause

          goto begin

          在這個(gè)例子中,驅(qū)動(dòng)器 A 中磁盤(pán)上的所有文件均復(fù)制到d:\back中。

          顯示的信息提示您將另一張磁盤(pán)放入驅(qū)動(dòng)器 A 時(shí),pause 命令會(huì)使程序掛起,以便您更換磁盤(pán),然后按任意鍵再次復(fù)制。

          6.Call 命令

          語(yǔ)法: call [[Drive:][Path] FileName [BatchParameters]] [:label [arguments]]

          參數(shù): [Drive:][Path] FileName 指定要調(diào)用的批處理程序的位置和名稱(chēng)。filename 參數(shù)必須具有 .bat 或 .cmd 擴(kuò)展名。

          調(diào)用另一個(gè)批處理程序,并且不終止父批處理程序。

          如果不用call而直接調(diào)用別的批處理文件,那么執(zhí)行完那個(gè)批處理文件后將無(wú)法返回當(dāng)前文件并執(zhí)行當(dāng)前文件的后續(xù)命令。

          call 命令接受用作調(diào)用目標(biāo)的標(biāo)簽。如果在腳本或批處理文件外使用 Call,它將不會(huì)在命令行起作用。

          Sample:call="%cd%\test2.bat" haha kkk aaa (調(diào)用指定目錄下的 test2.bat,且輸入3個(gè)參數(shù)給他)

          Sample:call test2.bat arg1 arg2 (調(diào)用同目錄下的 test2.bat,且輸入2個(gè)參數(shù)給他)

          注:可以調(diào)用自身(死循環(huán)、遞歸)

          7.start 命令

          調(diào)用外部程序,所有的 DOS命令 和 命令行程序 都可以由 start命令 來(lái)調(diào)用。

          入侵常用參數(shù):

          MIN 開(kāi)始時(shí)窗口最小化

          SEPARATE 在分開(kāi)的空間內(nèi)開(kāi)始 16 位 Windows 程序

          HIGH 在 HIGH 優(yōu)先級(jí)類(lèi)別開(kāi)始應(yīng)用程序

          REALTIME 在 REALTIME 優(yōu)先級(jí)類(lèi)別開(kāi)始應(yīng)用程序

          WAIT 啟動(dòng)應(yīng)用程序并等候它結(jié)束

          parameters 這些為傳送到命令/程序的參數(shù)

          Sample:start /MIN test2.bat arg1 arg2 (調(diào)用同目錄下的 test2.bat,且輸入2個(gè)參數(shù)給他,且本窗口最小化)

          Sample:e:\"program files"\極品列車(chē)時(shí)刻表\jpskb.exe (文件路徑名有空格時(shí))

          8.If 命令

          if 表示將判斷是否符合規(guī)定的條件,從而決定執(zhí)行不同的命令。有三種格式:

          1) IF

          語(yǔ)法: if [not] "參數(shù)" == "字符串" 待執(zhí)行的命令

          參數(shù)如果等于(not表示不等,下同)指定的字符串,則條件成立,運(yùn)行命令,否則運(yùn)行下一句。(注意是兩個(gè)等號(hào))

          Sample: if "%1" == "a" format a:

          Sample: if {%1} == {} goto noparms

          2) if exist

          語(yǔ)法: if [not] exist [路徑\]文件名 待執(zhí)行的命令

          如果有指定的文件,則條件成立,運(yùn)行命令,否則運(yùn)行下一句。

          Sample: if exist config.sys edit config.sys (表示如果存在這文件,則編輯它,用很難看的系統(tǒng)編輯器)

          Sample: if exist config.sys type config.sys (表示如果存在這文件,則顯示它的內(nèi)容)

          3) if errorlevel number

          語(yǔ)法: if [not] errorlevel <數(shù)字> 待執(zhí)行的命令

          如果程序返回值等于指定的數(shù)字,則條件成立,運(yùn)行命令,否則運(yùn)行下一句。(返回值必須按照從大到小的順序排列)

          Sample:

          @echo off

          XCOPY F:\test.bat D:\

          IF ERRORLEVEL 1 (ECHO 文件拷貝失敗

          ) Else IF ERRORLEVEL 0 ECHO 成功拷貝文件

          pause

          很多DOS程序在運(yùn)行結(jié)束后會(huì)返回一個(gè)數(shù)字值用來(lái)表示程序運(yùn)行的結(jié)果(或者狀態(tài)),稱(chēng)為錯(cuò)誤碼errorlevel或稱(chēng)返回碼。

          常見(jiàn)的返回碼為0、1。通過(guò)if errorlevel命令可以判斷程序的返回值,根據(jù)不同的返回值來(lái)決定執(zhí)行不同的命令。

          4) else

          語(yǔ)法: if 條件 (成立時(shí)執(zhí)行的命令) else (不成立時(shí)執(zhí)行的命令)

          如果是多個(gè)條件,建議適當(dāng)使用括號(hào)把各條件包起來(lái),以免出錯(cuò)。

          Sample: if 1 == 0 ( echo comment1 ) else if 1==0 ( echo comment2 ) else (echo comment3 )

          注:如果 else 的語(yǔ)句需要換行,if 執(zhí)行的行尾需用“^”連接,并且 if 執(zhí)行的動(dòng)作需用(括起來(lái)),否則報(bào)錯(cuò)

          Sample: if 1 == 0 ( echo comment1 ) else if 1==0 ( echo comment2 ) ^

          else (echo comment3 )

          5) 比較運(yùn)算符:

          EQU - 等于 (一般使用“==”)

          NEQ - 不等于 (沒(méi)有 “!=”,改用“ if not 1==1 ”的寫(xiě)法)

          LSS - 小于

          LEQ - 小于或等于

          GTR - 大于

          GEQ - 大于或等于

          9.choice 命令

          choice 使用此命令可以讓用戶輸入一個(gè)字符(用于選擇),從而根據(jù)用戶的選擇返回不同的 errorlevel,

          然后配合 if errorlevel 選擇運(yùn)行不同的命令。

          注意:choice命令為DOS或者Windows系統(tǒng)提供的外部命令,不同版本的choice命令語(yǔ)法會(huì)稍有不同,請(qǐng)用choice /?查看用法。

          choice 使用此命令可以讓用戶輸入一個(gè)字符,從而運(yùn)行不同的命令。

          使用時(shí)應(yīng)該加/c:參數(shù),c:后應(yīng)寫(xiě)提示可輸入的字符,之間無(wú)空格。它的返回碼為1234……

          Sample: choice /c:dme defrag,mem,end

          將顯示: defrag,mem,end[D,M,E]?

          Sample:

          choice /c:dme defrag,mem,end

          if errorlevel 3 goto defrag (應(yīng)先判斷數(shù)值最高的錯(cuò)誤碼)

          if errorlevel 2 goto mem

          if errotlevel 1 goto end

          10.for 命令

          for 命令是一個(gè)比較復(fù)雜的命令,主要用于參數(shù)在指定的范圍內(nèi)循環(huán)執(zhí)行命令。

          1) for {%variable | %%variable} in (set) do command [command-parameters]

          %variable 指定一個(gè)單一字母可替換的參數(shù)。變量名稱(chēng)是區(qū)分大小寫(xiě)的,所以 %i 不同于 %I

          在批處理文件中使用 FOR 命令時(shí),指定變量建議用 %%variable而不要用 %variable。

          (set) 指定一個(gè)或一組文件。可以使用通配符。

          command 指定對(duì)每個(gè)文件執(zhí)行的命令。

          command-parameters 為特定命令指定參數(shù)或命令行開(kāi)關(guān)。

          2) 如果命令擴(kuò)展名被啟用,下列額外的 FOR 命令格式會(huì)受到支持:

          a.FOR /D %variable IN (set) DO command [command-parameters]

          如果集里面包含通配符,則指定與目錄名匹配,而不與文件名匹配。

          b.FOR /R [[drive:]path] %variable IN (set) DO command [command-parameters]

          檢查以 [drive:]path 為根的目錄樹(shù),指向每個(gè)目錄中的FOR 語(yǔ)句。

          如果在 /R 后沒(méi)有指定目錄,則使用當(dāng)前目錄。如果集僅為一個(gè)單點(diǎn)(.)字符,則枚舉該目錄樹(shù)。

          c.FOR /L %variable IN (start,step,end) DO command [command-parameters]

          該集表示以增量形式從開(kāi)始到結(jié)束的一個(gè)數(shù)字序列。

          如:(1,1,5) 將產(chǎn)生序列 1 2 3 4 5; 而(5,-1,1) 將產(chǎn)生序列 (5 4 3 2 1)。

          d.有或者沒(méi)有 usebackq 選項(xiàng):

          FOR /F ["options"] %variable IN (file-set) DO command

          FOR /F ["options"] %variable IN ("string") DO command

          FOR /F ["options"] %variable IN (command) DO command

          參數(shù)"options"為:

          eol=c - 指一個(gè)行注釋字符的結(jié)尾(就一個(gè),如“;”)

          skip=n - 指在文件開(kāi)始時(shí)忽略的行數(shù)。

          delims=xxx - 指分隔符集。這個(gè)替換了空格和跳格鍵的默認(rèn)分隔符集。

          tokens=x,y,m-n - 指每行的哪一個(gè)符號(hào)被傳遞到每個(gè)迭代的 for 本身。這會(huì)導(dǎo)致額外變量名稱(chēng)的分配。

          m-n格式為一個(gè)范圍。通過(guò) nth 符號(hào)指定 mth。

          如果符號(hào)字符串中的最后一個(gè)字符星號(hào),那么額外的變量將在最后一個(gè)符號(hào)解析之后分配并接受行的保留文本。

          usebackq - 指定新語(yǔ)法已在下類(lèi)情況中使用:

          在作為命令執(zhí)行一個(gè)后引號(hào)的字符串并且一個(gè)單引號(hào)字符為文字字符串命令并允許在 filenameset中使用雙引號(hào)擴(kuò)起文件名稱(chēng)。

          3) Sample:

          1. 如下命令行會(huì)顯示當(dāng)前目錄下所有以bat或者txt為擴(kuò)展名的文件名。

          for %%c in (*.bat *.txt) do (echo %%c)

          a. 如下命令行會(huì)顯示當(dāng)前目錄下所有包含有 e 或者 i 的目錄名。

          for /D %%a in (*e* *i*) do echo %%a

          b. 如下命令行會(huì)顯示 E盤(pán)test目錄 下所有以bat或者txt為擴(kuò)展名的文件名。

          for /R E:\test %%b in (*.txt *.bat) do echo %%b

          for /r %%c in (*) do (echo %%c) :: 遍歷當(dāng)前目錄下所有文件

          c. 如下命令行將產(chǎn)生序列 1 2 3 4 5

          for /L %%c in (1,1,5) do echo %%c

          d. 以下兩句,顯示當(dāng)前的年月日和時(shí)間

          For /f "tokens=1-3 delims=-/. " %%j In ('Date /T') do echo %%j年%%k月%%l日

          For /f "tokens=1,2 delims=: " %%j In ('TIME /T') do echo %%j時(shí)%%k分

          e. 把記事本中的內(nèi)容每一行前面去掉8個(gè)字符

          setlocal enabledelayedexpansion

          for /f %%i in (zhidian.txt) do (

          set atmp=%%i

          set atmp=!atmp:~8!

          if {!atmp!}=={} ( echo.) else echo !atmp!

          )

          :: 讀取記事本里的內(nèi)容(使用 delims 是為了把一行顯示全,否則會(huì)以空格為分隔符)

          for /f "delims=" %%a in (zhidian.txt) do echo.%%a

          4) continue 和 break

          利用 goto 實(shí)現(xiàn)程序中常用的 continue 和 break 命令, 其實(shí)非常簡(jiǎn)單

          continue: 在 for 循環(huán)的最后一行寫(xiě)上一個(gè)標(biāo)簽,跳轉(zhuǎn)到這位置即可

          break: 在 for 循環(huán)的外面的下一句寫(xiě)上一個(gè)標(biāo)簽,跳轉(zhuǎn)到這位置即可

          Sample: (偽代碼)

          for /F ["options"] %variable IN (command) DO (

          ... do command ...

          if ... goto continue

          if ... goto break

          ... do command ...

          :continue

          )

          :break

          四、其它命令

          1. ping 命令

          測(cè)試網(wǎng)絡(luò)聯(lián)接狀況以及信息包發(fā)送和接收狀況。但是不能夠測(cè)試端口。

          語(yǔ)法:ping IP地址或主機(jī)名 [-t] [-a] [-n count] [-l size]

          參數(shù)含義:

          -t 不停地向目標(biāo)主機(jī)發(fā)送數(shù)據(jù);

          -a 以IP地址格式來(lái)顯示目標(biāo)主機(jī)的網(wǎng)絡(luò)地址;

          -n count 指定要Ping多少次,具體次數(shù)由count來(lái)指定;

          -l size 指定發(fā)送到目標(biāo)主機(jī)的數(shù)據(jù)包的大小。

          Sample: ping 192.168.0.1 -t (不停的測(cè)試192.168.0.1,按ctrl+c停止)

          Sample: for /L %%a in (0,1,255) do ping 192.168.0.%%a -n 1 >> tmp.txt (ping一下所有的局域網(wǎng)電腦)

          2. telnet 命令

          測(cè)試端口使用 telnet IP地址或主機(jī)名 端口,使用tcp協(xié)議的

          Sample: telnet 192.168.0.1 80 (測(cè)試192.168.0.1的80端口)

          3.color 命令

          設(shè)置背景及字體顏色

          語(yǔ)法: color bf

          b 是指定背景色的十六進(jìn)制數(shù)字; f 指定前景顏色(即字體顏色)。

          顏色值: 0:黑色 1:藍(lán)色 2:綠色 3:湖藍(lán) 4:紅色 5:紫色 6:** 7:白色

          8:灰色 9:淡藍(lán) A:淡綠 B:淺綠 C:淡紅 D:淡紫 E:淡黃 F:亮白

          如果沒(méi)有給定任何參數(shù),該命令會(huì)將顏色還原到 CMD.EXE 啟動(dòng)時(shí)的顏色。

          如果兩參數(shù)一樣,視為無(wú)效輸入。只有一個(gè)參數(shù)時(shí),設(shè)置字體。

          4. random 命令

          產(chǎn)生隨機(jī)數(shù)(正整數(shù)0~)

          5. exit 命令

          結(jié)束程序。即時(shí)是被調(diào)用的程序,結(jié)束后也不會(huì)返回原程序

          6. shutdown命令

          shutdown -s 關(guān)機(jī)

          10. 所有內(nèi)置命令的幫助信息

          ver /?

          cmd /?

          set /?

          rem /?

          if /?

          echo /?

          goto /?

          for /?

          shift /?

          call /?

          其他需要的常用命令

          type /?

          find /?

          findstr /?

          copy /?

          五、字符串處理

          1) 分割字符串,以查看時(shí)間為例

          %源字符串:~起始值,截取長(zhǎng)度% (起始值從0開(kāi)始;截取長(zhǎng)度是可選的,如果省略逗號(hào)和截取長(zhǎng)度,將會(huì)從起始值截取到結(jié)尾;

          截取長(zhǎng)度如果是負(fù)數(shù),表示截取到倒數(shù)第幾個(gè)。)

          "%time%" 顯示如:"11:04:23.03" (完整的時(shí)間"hh:mm:ss.tt")

          "%time:~0,5%" 顯示"hh:mm"(即"11:04"),其中0表示從右向左移位操作的個(gè)數(shù),5表示從左向右移位操作的個(gè)數(shù)

          "%time:~0,8%" 顯示標(biāo)準(zhǔn)時(shí)間格式"hh:mm:ss"(即"11:04:23",前8個(gè)字符串)

          "%time:~3,-3%"顯示"mm:ss"(即從第4個(gè)開(kāi)始,截去最后3個(gè)的字符串)

          "%time:~3%" 顯示"04:23.03"(即去掉前4個(gè)字符串)

          "%time:~-3%" 顯示".tt"(即最后3個(gè)字符串)

          上面的字串分割格式,也可以用于其它地方,如目錄路徑:"%cd:~0,10%"

          2) 替換字符串

          set a="abcd1234"

          echo %a% 顯示:"abcd1234"

          set a=%a:1=kk% 替換“1”為“kk”

          echo %a% 顯示:"abcdkk234"

          3) 字符串合并

          由于沒(méi)有直接的字符串合并函數(shù),只能用笨方法了。

          set str1=%str1%%str2% (合并 str1 和 str2)

          4) 計(jì)算字符串長(zhǎng)度

          沒(méi)有現(xiàn)成的函數(shù)。如下程序利用 goto形成循環(huán),不斷將字符串截短1,并記錄截短的次數(shù),到字符串變成空時(shí)的次數(shù)即長(zhǎng)度。

          set testStr=This is a test string

          :: 將 testStr 復(fù)制到str,str 是個(gè)臨時(shí)字符串

          set str=%testStr%

          :: 標(biāo)簽,用于goto跳轉(zhuǎn)

          :next1

          :: 判斷str是不是空,如果不是則執(zhí)行下邊的語(yǔ)句

          if not "%str%"=="" (

          :: 算術(shù)運(yùn)算,使num的值自增1,相當(dāng)于num++或者++num語(yǔ)句

          set /a num+=1

          :: 截取字符串,每次截短1

          set "str=%str:~1%"

          :: 跳轉(zhuǎn)到next1標(biāo)簽: 這里利用goto和標(biāo)簽,構(gòu)成循環(huán)結(jié)構(gòu)

          goto next1

          )

          :: 當(dāng)以上循環(huán)結(jié)構(gòu)執(zhí)行完畢時(shí),會(huì)執(zhí)行下邊的語(yǔ)句

          echo testStr=%testStr%

          echo testStr的長(zhǎng)度為:%num%

          5) 截取字符串時(shí),需要傳遞參數(shù)

          直接 echo %args:~%num%,-5% 沒(méi)辦法想要的字符串,需要如下兩步

          setlocal enabledelayedexpansion

          echo !args:~%num%,-5!

          六、注冊(cè)表操作

          1) 備份注冊(cè)表,將[HKEY_LOCAL_MACHINE ... Run]的內(nèi)容,備份到“c:\windows class="main">

        批處理文件

        時(shí)間: 春健736 分享

          reg export HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run c:\windows class="main">

        批處理文件

        時(shí)間: 春健736 分享

          reg export HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Run c:\windows

          批處理,顧名思義就是進(jìn)行批量的處理。批處理文件是擴(kuò)展名為·bat 或·cmd的文本文件,包含一條或多條命令,由DOS或Windows系統(tǒng)內(nèi)嵌的命令解釋器來(lái)解釋運(yùn)行。。學(xué)習(xí)啦小編給大家分享一下批處理文件怎么設(shè)置的方法。希望大家喜歡!

          批處理文件參考如下:

          批處理文件是一種簡(jiǎn)單的可執(zhí)行文件,常常用來(lái)執(zhí)行清理或簡(jiǎn)單的安裝命令,下面我們來(lái)看一個(gè)練習(xí);

          1、批處理文件

          1)批處理文件的圖標(biāo)是一個(gè)齒輪窗口圖標(biāo)

          ,雙擊運(yùn)行后會(huì)出來(lái)一個(gè)黑色命令行窗口;

          2)在批處理文件圖標(biāo)上點(diǎn)右鍵,里面有一個(gè)“編輯”命令,可以查看文件的內(nèi)容;

          2、批處理命令

          1)echo 是顯示命令,它后面的文字會(huì)原樣顯示在命令行窗口里,前面加上“@”則會(huì)隱藏,

          比如: echo 正在完成,請(qǐng)稍等...

          2)del 是刪除命令,可以刪除指定的文件,星號(hào)“*”代表所有文件,

          比如: echo del *.tmp

          3)rd 是刪除文件夾命令,可以刪除指定文件夾;(更多電腦知識(shí),計(jì)算機(jī)基礎(chǔ)知識(shí)入門(mén),請(qǐng)到http://www.pc6c.com電腦知識(shí)網(wǎng))

          4)pause 暫停命令,這時(shí)候按按一下回車(chē)鍵或空格鍵就可以繼續(xù);

          5)可以用記事本來(lái)創(chuàng)建批處理文件,每行輸入一句命令,保存的時(shí)候以.bat為文件名,類(lèi)型選所有文件;

          ;

          一、基礎(chǔ)語(yǔ)法:

          1.批處理文件是一個(gè)“.bat”結(jié)尾的文本文件,這個(gè)文件的每一行都是一條DOS命令??梢允褂萌魏挝谋疚募庉嫻ぞ邉?chuàng)建和修改。

          2.批處理是一種簡(jiǎn)單的程序,可以用 if 和 goto 來(lái)控制流程,也可以使用 for 循環(huán)。

          3.批處理的編程能力遠(yuǎn)不如C語(yǔ)言等編程語(yǔ)言,也十分不規(guī)范。

          4.每個(gè)編寫(xiě)好的批處理文件都相當(dāng)于一個(gè)DOS的外部命令,把它所在的目錄放到DOS搜索路徑(path)中,即可在任意位置運(yùn)行。

          5.C:\AUTOEXEC.BAT 是每次系統(tǒng)啟動(dòng)時(shí)都會(huì)自動(dòng)運(yùn)行的,可以將每次啟動(dòng)時(shí)都要運(yùn)行的命令放入該文件中。

          6.大小寫(xiě)不敏感(命令符忽略大小寫(xiě))

          7.批處理的文件擴(kuò)展名為 .bat 或 .cmd。

          8.在命令提示下鍵入批處理文件的名稱(chēng),或者雙擊該批處理文件,系統(tǒng)就會(huì)調(diào)用Cmd.exe來(lái)運(yùn)行該文件。

          二、參數(shù):

          1) 系統(tǒng)參數(shù)

          %SystemRoot% === C:\WINDOWS (%windir% 同樣)

          %ProgramFiles% === C:\Program Files

          %USERPROFILE% === C:\Documents and Settings\Administrator (子目錄有“桌面”,“開(kāi)始菜單”,“收藏夾”等)

          %APPDATA% === C:\Documents and Settings\Administrator\Application Data

          %TEMP% === C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp (%TEM% 同樣)

          %APPDATA% === C:\Documents and Settings\Administrator\Application Data

          %OS% === Windows_NT (系統(tǒng))

          %Path% === %SystemRoot%\system32;%SystemRoot%;%SystemRoot%\System32\Wbem (原本的設(shè)置)

          %HOMEDRIVE% === C: (系統(tǒng)盤(pán))

          %HOMEPATH% === \Documents and Settings\Administrator

          :: 枚舉當(dāng)前的環(huán)境變量

          setlocal enabledelayedexpansion

          FOR /F "usebackq delims==" %%i IN (`set`) DO @echo %%i !%%i!

          2) 傳遞參數(shù)給批處理文件

          %[1-9]表示參數(shù),參數(shù)是指在運(yùn)行批處理文件時(shí)在文件名后加的以空格(或者Tab)分隔的字符串。

          變量可以從%0到%9,%0表示批處理命令本身,其它參數(shù)字符串用 %1 到 %9 順序表示。

          Sample:

          call test2.bat "hello" "haha" (執(zhí)行同目錄下的“test2.bat”文件,并輸入兩個(gè)參數(shù))

          在“test2.bat”文件里寫(xiě):

          echo %1 (打印: "hello")

          echo %2 (打印: "haha")

          echo %0 (打印: test2.bat)

          echo %19 (打印: "hello"9)

          三、批處理基本命令

          0. help 命令

          /? 命令

          語(yǔ)法: 命令 /?

          可顯示此命令的幫助信息

          Sample: type /? >>tmp.txt (把 type 命令的幫助信息寫(xiě)入到tmp.txt文件里)

          Sample: help type (顯示跟“type /?”一樣)

          1.Echo 命令

          語(yǔ)法: echo [{on|off}] [message]

          ECHO [ON | OFF] 打開(kāi)回顯或關(guān)閉回顯功能。

          ECHO 顯示當(dāng)前回顯設(shè)置。

          ECHO [message] 顯示信息。

          echo off 表示在此語(yǔ)句后所有運(yùn)行的命令都不顯示命令行本身;默認(rèn)是on,on時(shí)會(huì)顯示如: C:\文件夾路徑>命令行。

          在實(shí)際應(yīng)用中我們會(huì)把這條命令和重定向符號(hào)( 也稱(chēng)為管道符號(hào),一般用 > >> ^ )結(jié)合來(lái)實(shí)現(xiàn)輸入一些命令到特定格式的文件中。

          Sample: echo off

          Sample: echo hello world (顯示出“hello world”)

          Sample: echo Windows Registry Editor Version 5.00 > c:\setupreg.reg (此前還沒(méi)有 setupreg.reg 這個(gè)文件)

          Sample: echo "SourcePath"="D:\\Win2003\\" >> c:\setupreg.reg (追加內(nèi)容進(jìn) setupreg.reg 這個(gè)文件)

          2.@ 命令

          表示不顯示@后面的命令,(在入侵過(guò)程中自然不能讓對(duì)方看到你使用的命令啦)

          @ 與 echo off 相象,但它是加在每個(gè)命令行的最前面,表示運(yùn)行時(shí)不顯示這一行的命令行(只能影響當(dāng)前行)。

          Sample: @echo off (此語(yǔ)句常用于開(kāi)頭,表示不顯示所有的命令行信息,包括此句)

          Sample: @echo please wait a minite...

          Sample: @format X: /q/u/autoset

          (format 這個(gè)命令是不可以使用/y這個(gè)參數(shù)的,可喜的是微軟留了個(gè)autoset這個(gè)參數(shù)給我們,效果和/y是一樣的。)

          3.Goto 命令

          語(yǔ)法:goto label (label是參數(shù),指定所要轉(zhuǎn)向的批處理程序中的行。)

          指定跳轉(zhuǎn)到標(biāo)簽行,找到標(biāo)簽行后,程序?qū)⑻幚韽南乱恍虚_(kāi)始的命令。

          label標(biāo)簽的名字可以隨便起,但是最好是有意義的,字母前必須加個(gè)冒號(hào)“:”來(lái)表示這個(gè)字母是標(biāo)簽。

          goto命令就是根據(jù)這個(gè)冒號(hào)來(lái)尋找下一步跳到到那里。經(jīng)常與 if 配合使用,根據(jù)不同的條件來(lái)執(zhí)行不同的命令組。

          例題見(jiàn)“5.Pause 命令”

          4.Rem 命令

          語(yǔ)法:Rem Message...

          (小技巧:用::代替rem)

          注釋命令,在C語(yǔ)言中相當(dāng)與/*...*/,它并不會(huì)被執(zhí)行,只是起一個(gè)注釋的作用,便于別人閱讀和自己日后修改。

          Sample:@Rem Here is the description.

          5.Pause 命令

          會(huì)暫停批處理的執(zhí)行并在屏幕上顯示Press any key to continue...的提示,等待用戶按任意鍵后繼續(xù)

          Sample:

          @echo off

          :begin

          copy a:*.* d:\back

          echo Please put a new disk into driver A

          pause

          goto begin

          在這個(gè)例子中,驅(qū)動(dòng)器 A 中磁盤(pán)上的所有文件均復(fù)制到d:\back中。

          顯示的信息提示您將另一張磁盤(pán)放入驅(qū)動(dòng)器 A 時(shí),pause 命令會(huì)使程序掛起,以便您更換磁盤(pán),然后按任意鍵再次復(fù)制。

          6.Call 命令

          語(yǔ)法: call [[Drive:][Path] FileName [BatchParameters]] [:label [arguments]]

          參數(shù): [Drive:][Path] FileName 指定要調(diào)用的批處理程序的位置和名稱(chēng)。filename 參數(shù)必須具有 .bat 或 .cmd 擴(kuò)展名。

          調(diào)用另一個(gè)批處理程序,并且不終止父批處理程序。

          如果不用call而直接調(diào)用別的批處理文件,那么執(zhí)行完那個(gè)批處理文件后將無(wú)法返回當(dāng)前文件并執(zhí)行當(dāng)前文件的后續(xù)命令。

          call 命令接受用作調(diào)用目標(biāo)的標(biāo)簽。如果在腳本或批處理文件外使用 Call,它將不會(huì)在命令行起作用。

          Sample:call="%cd%\test2.bat" haha kkk aaa (調(diào)用指定目錄下的 test2.bat,且輸入3個(gè)參數(shù)給他)

          Sample:call test2.bat arg1 arg2 (調(diào)用同目錄下的 test2.bat,且輸入2個(gè)參數(shù)給他)

          注:可以調(diào)用自身(死循環(huán)、遞歸)

          7.start 命令

          調(diào)用外部程序,所有的 DOS命令 和 命令行程序 都可以由 start命令 來(lái)調(diào)用。

          入侵常用參數(shù):

          MIN 開(kāi)始時(shí)窗口最小化

          SEPARATE 在分開(kāi)的空間內(nèi)開(kāi)始 16 位 Windows 程序

          HIGH 在 HIGH 優(yōu)先級(jí)類(lèi)別開(kāi)始應(yīng)用程序

          REALTIME 在 REALTIME 優(yōu)先級(jí)類(lèi)別開(kāi)始應(yīng)用程序

          WAIT 啟動(dòng)應(yīng)用程序并等候它結(jié)束

          parameters 這些為傳送到命令/程序的參數(shù)

          Sample:start /MIN test2.bat arg1 arg2 (調(diào)用同目錄下的 test2.bat,且輸入2個(gè)參數(shù)給他,且本窗口最小化)

          Sample:e:\"program files"\極品列車(chē)時(shí)刻表\jpskb.exe (文件路徑名有空格時(shí))

          8.If 命令

          if 表示將判斷是否符合規(guī)定的條件,從而決定執(zhí)行不同的命令。有三種格式:

          1) IF

          語(yǔ)法: if [not] "參數(shù)" == "字符串" 待執(zhí)行的命令

          參數(shù)如果等于(not表示不等,下同)指定的字符串,則條件成立,運(yùn)行命令,否則運(yùn)行下一句。(注意是兩個(gè)等號(hào))

          Sample: if "%1" == "a" format a:

          Sample: if {%1} == {} goto noparms

          2) if exist

          語(yǔ)法: if [not] exist [路徑\]文件名 待執(zhí)行的命令

          如果有指定的文件,則條件成立,運(yùn)行命令,否則運(yùn)行下一句。

          Sample: if exist config.sys edit config.sys (表示如果存在這文件,則編輯它,用很難看的系統(tǒng)編輯器)

          Sample: if exist config.sys type config.sys (表示如果存在這文件,則顯示它的內(nèi)容)

          3) if errorlevel number

          語(yǔ)法: if [not] errorlevel <數(shù)字> 待執(zhí)行的命令

          如果程序返回值等于指定的數(shù)字,則條件成立,運(yùn)行命令,否則運(yùn)行下一句。(返回值必須按照從大到小的順序排列)

          Sample:

          @echo off

          XCOPY F:\test.bat D:\

          IF ERRORLEVEL 1 (ECHO 文件拷貝失敗

          ) Else IF ERRORLEVEL 0 ECHO 成功拷貝文件

          pause

          很多DOS程序在運(yùn)行結(jié)束后會(huì)返回一個(gè)數(shù)字值用來(lái)表示程序運(yùn)行的結(jié)果(或者狀態(tài)),稱(chēng)為錯(cuò)誤碼errorlevel或稱(chēng)返回碼。

          常見(jiàn)的返回碼為0、1。通過(guò)if errorlevel命令可以判斷程序的返回值,根據(jù)不同的返回值來(lái)決定執(zhí)行不同的命令。

          4) else

          語(yǔ)法: if 條件 (成立時(shí)執(zhí)行的命令) else (不成立時(shí)執(zhí)行的命令)

          如果是多個(gè)條件,建議適當(dāng)使用括號(hào)把各條件包起來(lái),以免出錯(cuò)。

          Sample: if 1 == 0 ( echo comment1 ) else if 1==0 ( echo comment2 ) else (echo comment3 )

          注:如果 else 的語(yǔ)句需要換行,if 執(zhí)行的行尾需用“^”連接,并且 if 執(zhí)行的動(dòng)作需用(括起來(lái)),否則報(bào)錯(cuò)

          Sample: if 1 == 0 ( echo comment1 ) else if 1==0 ( echo comment2 ) ^

          else (echo comment3 )

          5) 比較運(yùn)算符:

          EQU - 等于 (一般使用“==”)

          NEQ - 不等于 (沒(méi)有 “!=”,改用“ if not 1==1 ”的寫(xiě)法)

          LSS - 小于

          LEQ - 小于或等于

          GTR - 大于

          GEQ - 大于或等于

          9.choice 命令

          choice 使用此命令可以讓用戶輸入一個(gè)字符(用于選擇),從而根據(jù)用戶的選擇返回不同的 errorlevel,

          然后配合 if errorlevel 選擇運(yùn)行不同的命令。

          注意:choice命令為DOS或者Windows系統(tǒng)提供的外部命令,不同版本的choice命令語(yǔ)法會(huì)稍有不同,請(qǐng)用choice /?查看用法。

          choice 使用此命令可以讓用戶輸入一個(gè)字符,從而運(yùn)行不同的命令。

          使用時(shí)應(yīng)該加/c:參數(shù),c:后應(yīng)寫(xiě)提示可輸入的字符,之間無(wú)空格。它的返回碼為1234……

          Sample: choice /c:dme defrag,mem,end

          將顯示: defrag,mem,end[D,M,E]?

          Sample:

          choice /c:dme defrag,mem,end

          if errorlevel 3 goto defrag (應(yīng)先判斷數(shù)值最高的錯(cuò)誤碼)

          if errorlevel 2 goto mem

          if errotlevel 1 goto end

          10.for 命令

          for 命令是一個(gè)比較復(fù)雜的命令,主要用于參數(shù)在指定的范圍內(nèi)循環(huán)執(zhí)行命令。

          1) for {%variable | %%variable} in (set) do command [command-parameters]

          %variable 指定一個(gè)單一字母可替換的參數(shù)。變量名稱(chēng)是區(qū)分大小寫(xiě)的,所以 %i 不同于 %I

          在批處理文件中使用 FOR 命令時(shí),指定變量建議用 %%variable而不要用 %variable。

          (set) 指定一個(gè)或一組文件??梢允褂猛ㄅ浞?。

          command 指定對(duì)每個(gè)文件執(zhí)行的命令。

          command-parameters 為特定命令指定參數(shù)或命令行開(kāi)關(guān)。

          2) 如果命令擴(kuò)展名被啟用,下列額外的 FOR 命令格式會(huì)受到支持:

          a.FOR /D %variable IN (set) DO command [command-parameters]

          如果集里面包含通配符,則指定與目錄名匹配,而不與文件名匹配。

          b.FOR /R [[drive:]path] %variable IN (set) DO command [command-parameters]

          檢查以 [drive:]path 為根的目錄樹(shù),指向每個(gè)目錄中的FOR 語(yǔ)句。

          如果在 /R 后沒(méi)有指定目錄,則使用當(dāng)前目錄。如果集僅為一個(gè)單點(diǎn)(.)字符,則枚舉該目錄樹(shù)。

          c.FOR /L %variable IN (start,step,end) DO command [command-parameters]

          該集表示以增量形式從開(kāi)始到結(jié)束的一個(gè)數(shù)字序列。

          如:(1,1,5) 將產(chǎn)生序列 1 2 3 4 5; 而(5,-1,1) 將產(chǎn)生序列 (5 4 3 2 1)。

          d.有或者沒(méi)有 usebackq 選項(xiàng):

          FOR /F ["options"] %variable IN (file-set) DO command

          FOR /F ["options"] %variable IN ("string") DO command

          FOR /F ["options"] %variable IN (command) DO command

          參數(shù)"options"為:

          eol=c - 指一個(gè)行注釋字符的結(jié)尾(就一個(gè),如“;”)

          skip=n - 指在文件開(kāi)始時(shí)忽略的行數(shù)。

          delims=xxx - 指分隔符集。這個(gè)替換了空格和跳格鍵的默認(rèn)分隔符集。

          tokens=x,y,m-n - 指每行的哪一個(gè)符號(hào)被傳遞到每個(gè)迭代的 for 本身。這會(huì)導(dǎo)致額外變量名稱(chēng)的分配。

          m-n格式為一個(gè)范圍。通過(guò) nth 符號(hào)指定 mth。

          如果符號(hào)字符串中的最后一個(gè)字符星號(hào),那么額外的變量將在最后一個(gè)符號(hào)解析之后分配并接受行的保留文本。

          usebackq - 指定新語(yǔ)法已在下類(lèi)情況中使用:

          在作為命令執(zhí)行一個(gè)后引號(hào)的字符串并且一個(gè)單引號(hào)字符為文字字符串命令并允許在 filenameset中使用雙引號(hào)擴(kuò)起文件名稱(chēng)。

          3) Sample:

          1. 如下命令行會(huì)顯示當(dāng)前目錄下所有以bat或者txt為擴(kuò)展名的文件名。

          for %%c in (*.bat *.txt) do (echo %%c)

          a. 如下命令行會(huì)顯示當(dāng)前目錄下所有包含有 e 或者 i 的目錄名。

          for /D %%a in (*e* *i*) do echo %%a

          b. 如下命令行會(huì)顯示 E盤(pán)test目錄 下所有以bat或者txt為擴(kuò)展名的文件名。

          for /R E:\test %%b in (*.txt *.bat) do echo %%b

          for /r %%c in (*) do (echo %%c) :: 遍歷當(dāng)前目錄下所有文件

          c. 如下命令行將產(chǎn)生序列 1 2 3 4 5

          for /L %%c in (1,1,5) do echo %%c

          d. 以下兩句,顯示當(dāng)前的年月日和時(shí)間

          For /f "tokens=1-3 delims=-/. " %%j In ('Date /T') do echo %%j年%%k月%%l日

          For /f "tokens=1,2 delims=: " %%j In ('TIME /T') do echo %%j時(shí)%%k分

          e. 把記事本中的內(nèi)容每一行前面去掉8個(gè)字符

          setlocal enabledelayedexpansion

          for /f %%i in (zhidian.txt) do (

          set atmp=%%i

          set atmp=!atmp:~8!

          if {!atmp!}=={} ( echo.) else echo !atmp!

          )

          :: 讀取記事本里的內(nèi)容(使用 delims 是為了把一行顯示全,否則會(huì)以空格為分隔符)

          for /f "delims=" %%a in (zhidian.txt) do echo.%%a

          4) continue 和 break

          利用 goto 實(shí)現(xiàn)程序中常用的 continue 和 break 命令, 其實(shí)非常簡(jiǎn)單

          continue: 在 for 循環(huán)的最后一行寫(xiě)上一個(gè)標(biāo)簽,跳轉(zhuǎn)到這位置即可

          break: 在 for 循環(huán)的外面的下一句寫(xiě)上一個(gè)標(biāo)簽,跳轉(zhuǎn)到這位置即可

          Sample: (偽代碼)

          for /F ["options"] %variable IN (command) DO (

          ... do command ...

          if ... goto continue

          if ... goto break

          ... do command ...

          :continue

          )

          :break

          四、其它命令

          1. ping 命令

          測(cè)試網(wǎng)絡(luò)聯(lián)接狀況以及信息包發(fā)送和接收狀況。但是不能夠測(cè)試端口。

          語(yǔ)法:ping IP地址或主機(jī)名 [-t] [-a] [-n count] [-l size]

          參數(shù)含義:

          -t 不停地向目標(biāo)主機(jī)發(fā)送數(shù)據(jù);

          -a 以IP地址格式來(lái)顯示目標(biāo)主機(jī)的網(wǎng)絡(luò)地址;

          -n count 指定要Ping多少次,具體次數(shù)由count來(lái)指定;

          -l size 指定發(fā)送到目標(biāo)主機(jī)的數(shù)據(jù)包的大小。

          Sample: ping 192.168.0.1 -t (不停的測(cè)試192.168.0.1,按ctrl+c停止)

          Sample: for /L %%a in (0,1,255) do ping 192.168.0.%%a -n 1 >> tmp.txt (ping一下所有的局域網(wǎng)電腦)

          2. telnet 命令

          測(cè)試端口使用 telnet IP地址或主機(jī)名 端口,使用tcp協(xié)議的

          Sample: telnet 192.168.0.1 80 (測(cè)試192.168.0.1的80端口)

          3.color 命令

          設(shè)置背景及字體顏色

          語(yǔ)法: color bf

          b 是指定背景色的十六進(jìn)制數(shù)字; f 指定前景顏色(即字體顏色)。

          顏色值: 0:黑色 1:藍(lán)色 2:綠色 3:湖藍(lán) 4:紅色 5:紫色 6:** 7:白色

          8:灰色 9:淡藍(lán) A:淡綠 B:淺綠 C:淡紅 D:淡紫 E:淡黃 F:亮白

          如果沒(méi)有給定任何參數(shù),該命令會(huì)將顏色還原到 CMD.EXE 啟動(dòng)時(shí)的顏色。

          如果兩參數(shù)一樣,視為無(wú)效輸入。只有一個(gè)參數(shù)時(shí),設(shè)置字體。

          4. random 命令

          產(chǎn)生隨機(jī)數(shù)(正整數(shù)0~)

          5. exit 命令

          結(jié)束程序。即時(shí)是被調(diào)用的程序,結(jié)束后也不會(huì)返回原程序

          6. shutdown命令

          shutdown -s 關(guān)機(jī)

          10. 所有內(nèi)置命令的幫助信息

          ver /?

          cmd /?

          set /?

          rem /?

          if /?

          echo /?

          goto /?

          for /?

          shift /?

          call /?

          其他需要的常用命令

          type /?

          find /?

          findstr /?

          copy /?

          五、字符串處理

          1) 分割字符串,以查看時(shí)間為例

          %源字符串:~起始值,截取長(zhǎng)度% (起始值從0開(kāi)始;截取長(zhǎng)度是可選的,如果省略逗號(hào)和截取長(zhǎng)度,將會(huì)從起始值截取到結(jié)尾;

          截取長(zhǎng)度如果是負(fù)數(shù),表示截取到倒數(shù)第幾個(gè)。)

          "%time%" 顯示如:"11:04:23.03" (完整的時(shí)間"hh:mm:ss.tt")

          "%time:~0,5%" 顯示"hh:mm"(即"11:04"),其中0表示從右向左移位操作的個(gè)數(shù),5表示從左向右移位操作的個(gè)數(shù)

          "%time:~0,8%" 顯示標(biāo)準(zhǔn)時(shí)間格式"hh:mm:ss"(即"11:04:23",前8個(gè)字符串)

          "%time:~3,-3%"顯示"mm:ss"(即從第4個(gè)開(kāi)始,截去最后3個(gè)的字符串)

          "%time:~3%" 顯示"04:23.03"(即去掉前4個(gè)字符串)

          "%time:~-3%" 顯示".tt"(即最后3個(gè)字符串)

          上面的字串分割格式,也可以用于其它地方,如目錄路徑:"%cd:~0,10%"

          2) 替換字符串

          set a="abcd1234"

          echo %a% 顯示:"abcd1234"

          set a=%a:1=kk% 替換“1”為“kk”

          echo %a% 顯示:"abcdkk234"

          3) 字符串合并

          由于沒(méi)有直接的字符串合并函數(shù),只能用笨方法了。

          set str1=%str1%%str2% (合并 str1 和 str2)

          4) 計(jì)算字符串長(zhǎng)度

          沒(méi)有現(xiàn)成的函數(shù)。如下程序利用 goto形成循環(huán),不斷將字符串截短1,并記錄截短的次數(shù),到字符串變成空時(shí)的次數(shù)即長(zhǎng)度。

          set testStr=This is a test string

          :: 將 testStr 復(fù)制到str,str 是個(gè)臨時(shí)字符串

          set str=%testStr%

          :: 標(biāo)簽,用于goto跳轉(zhuǎn)

          :next1

          :: 判斷str是不是空,如果不是則執(zhí)行下邊的語(yǔ)句

          if not "%str%"=="" (

          :: 算術(shù)運(yùn)算,使num的值自增1,相當(dāng)于num++或者++num語(yǔ)句

          set /a num+=1

          :: 截取字符串,每次截短1

          set "str=%str:~1%"

          :: 跳轉(zhuǎn)到next1標(biāo)簽: 這里利用goto和標(biāo)簽,構(gòu)成循環(huán)結(jié)構(gòu)

          goto next1

          )

          :: 當(dāng)以上循環(huán)結(jié)構(gòu)執(zhí)行完畢時(shí),會(huì)執(zhí)行下邊的語(yǔ)句

          echo testStr=%testStr%

          echo testStr的長(zhǎng)度為:%num%

          5) 截取字符串時(shí),需要傳遞參數(shù)

          直接 echo %args:~%num%,-5% 沒(méi)辦法想要的字符串,需要如下兩步

          setlocal enabledelayedexpansion

          echo !args:~%num%,-5!

          六、注冊(cè)表操作

          1) 備份注冊(cè)表,將[HKEY_LOCAL_MACHINE ... Run]的內(nèi)容,備份到“c:\windows\1.reg”

          reg export HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run c:\windows\1.reg

          reg export HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Run c:\windows\2.reg

          2) 修改/添加注冊(cè)表內(nèi)容

          a.一般的添加或修改

          reg add "HKCU\Environment" /v Java_Home /t reg_sz /d "D:\Java\jdk1.6.0_07" /f

          上句解析:“HKCU”是“HKEY_CURRENT_USER”的縮寫(xiě),不用縮寫(xiě)用全稱(chēng)也可以;

          添加名稱(chēng)為“Java_Home”的變量;類(lèi)型為“reg_sz”,另一種常見(jiàn)類(lèi)型是“reg_dword”;值為 D:\Java\jdk1.6.0_07;

          b.使用變量

          set SoftWareHome=HKEY_LOCAL_MACHINE\SOFTWARE\JavaSoft\Java

          reg add "%SoftWareHome%Web Start\1.6.0_07" /v Home /t reg_sz /d "%cd%\jre1.6.0_07\bin" /f

          c.如果注冊(cè)表的名稱(chēng)有空格,或者數(shù)據(jù)用特殊符號(hào)時(shí)

          reg add "%SoftWareHome2%\HelpCommands" /v "01:Online Documentation" /t reg_sz /d "\"%cd%\Documentation\Index.htm\"" /f

          傳入值為(值用雙引號(hào)括起來(lái)的):"D:\ProgramFiles\1.work_soft\Sybase\PowerDesigner_12\Documentation\Index.htm"

          reg add "%SoftWareHome2%\Paths" /v ReportTemplates /t reg_sz /d "%cd%\Resource Files\Report Templates\\" /f

          傳入值為(“\”結(jié)尾的): E:\Holemar\1.notes\90. Windows\Resource Files\Report Templates\

          d.增加空的內(nèi)容

          reg add "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Shared Tools\MSConfig\startupreg\IMJPMIG8.1"

          e.添加或修改默認(rèn)值

          reg add "%vpath%InstallPath" /ve /t reg_sz /d "%cd%" /f

          這里用“/ve”來(lái)代替一般修改時(shí)的“/v 變量名”,即可修改默認(rèn)值了

          3) 刪除注冊(cè)表的內(nèi)容

          雙引號(hào)里面的是注冊(cè)表的目錄,下面兩句將刪除這目錄下的所有信息

          reg delete "HKEY_CURRENT_USER\Software\RealVNC" /f

          reg delete "HKEY_LOCAL_MACHINE\SOFTWARE\RealVNC" /f

          雙引號(hào)里面的是注冊(cè)表的目錄,下面一句將刪除這目錄下指定的某個(gè)信息

          reg delete "HKEY_LOCAL_MACHINE\Software\RealVNC" /v VNC_Server /f

          4) 注冊(cè)表的常用位置

          a.系統(tǒng)啟動(dòng)項(xiàng):

          [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run]

          [HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Run]

          example: REG ADD HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Run /v VNC_Server /t REG_SZ /d "%cd%\VNC_Server.bat" /f

          b.系統(tǒng)環(huán)境變量:

          [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Environment]

          c.當(dāng)前用戶的環(huán)境變量:

          [HKEY_CURRENT_USER\Environment]

          5) 修改注冊(cè)表之后,結(jié)束并重新加載explorer.exe進(jìn)程,可刷新注冊(cè)表,令其生效

          taskkill /f /im explorer.exe >nul

          start "" "explorer.exe"

          七、系統(tǒng)服務(wù)

          1) 停止服務(wù):NET STOP 服務(wù)名

          啟動(dòng)服務(wù):NET Start 服務(wù)名

          2) 設(shè)置啟動(dòng)類(lèi)型

          自動(dòng): SC CONFIG 服務(wù)名 START= auto

          手動(dòng): SC CONFIG 服務(wù)名 START= demand

          已禁用:SC CONFIG 服務(wù)名 START= disabled

          附:“START= ”等號(hào)后面必須要有一個(gè)空格。(start還有boot,system兩個(gè)值)

          Sample: SC CONFIG Spooler START= demand (打印機(jī)加載項(xiàng),設(shè)置成手動(dòng),默認(rèn)自動(dòng))

          3) 查看系統(tǒng)服務(wù):start %SystemRoot%\system32\services.msc /s

          八、setlocal與變量延遲

          0) 在沒(méi)有開(kāi)啟變量延遲的情況下,某條命令行中的變量改變,必須到下一條命令才能體現(xiàn)。

          另外例如for命令等,其后用一對(duì)圓括號(hào)閉合的所有語(yǔ)句也當(dāng)作一行。

          example:

          set a=4

          set a=5 & echo %a%

          結(jié)果:4

          也可以對(duì)這種機(jī)制加以利用,如下的變量交換

          example:

          set var1=abc

          set var2=123

          echo 交換前: var1=%var1% var2=%var2%

          set var1=%var2%& set var2=%var1%

          echo 交換后: var1=%var1% var2=%var2%

          1) 啟動(dòng)批處理文件中環(huán)境變量的本地化。本地化將持續(xù)到出現(xiàn)匹配的 endlocal 命令或者到達(dá)批處理文件結(jié)尾為止。

          語(yǔ)法: setlocal {enableextension | disableextensions} {enabledelayedexpansion | disabledelayedexpansion}

          enableextension: 啟用命令擴(kuò)展,直到出現(xiàn)匹配的 endlocal 命令,無(wú)論 setlocal 命令之前的設(shè)置如何。

          disableextensions: 禁用命令擴(kuò)展,直到出現(xiàn)匹配的 endlocal 命令,無(wú)論 setlocal 命令之前的設(shè)置如何。

          enabledelayedexpansion: 啟用延遲的環(huán)境變量擴(kuò)展,直到出現(xiàn)匹配的 endlocal 命令,無(wú)論 setlocal 命令之前的設(shè)置如何。

          disabledelayedexpansion: 禁用延遲的環(huán)境變量擴(kuò)展,直到出現(xiàn)匹配的 endlocal 命令,無(wú)論 setlocal 命令之前的設(shè)置如何。

          2) 為了能夠感知環(huán)境變量的動(dòng)態(tài)變化,批處理設(shè)計(jì)了變量延遲。簡(jiǎn)單來(lái)說(shuō),在讀取了一條完整的語(yǔ)句之后,不立即對(duì)該行的變量賦值,而會(huì)在某個(gè)單條語(yǔ)句執(zhí)行之前再進(jìn)行賦值,也就是說(shuō)“延遲”了對(duì)變量的賦值。

          examle:

          setlocal enabledelayedexpansion

          set a=4

          set a=5 & echo !a!

          結(jié)果: 5

          變量延遲的啟動(dòng)語(yǔ)句是“setlocal enabledelayedexpansion”,并且變量要用一對(duì)嘆號(hào)“!!”括起來(lái)

          由于啟動(dòng)了變量延遲,所以批處理能夠感知到動(dòng)態(tài)變化,即不是先給該行變量賦值,而是在運(yùn)行過(guò)程中給變量賦值,因此此時(shí)a的值就是5了

          另外,啟動(dòng)變量延遲,“%”的變量還是不變

          example2:

          setlocal enabledelayedexpansion

          for /l %%i in (1,1,5) do (

          set a=%%i

          echo !a!

          )

          結(jié)果,打印從1到5;如果不變量延遲,一個(gè)變量也沒(méi)有打印

          九、文件處理

          1.刪除

          1) 刪除一個(gè)文件或多個(gè)文件

          del /s /q /f d:\test\a.bat

          將直接刪除d:\test\a.bat,沒(méi)有任務(wù)提示

          del temp\* /q /f /s

          將直接刪除 本目錄的 temp 目錄的所有文件,沒(méi)有任務(wù)提示

          刪除文件的時(shí)候可以使用“*”作通配符

          2) 刪除一個(gè)空目錄

          rd /q /s d:\test\log

          將直接刪除d:\test\log目錄,如果log目錄里面有文件將無(wú)法刪除

          3) 刪除一個(gè)非空目錄 (必須指定目錄名稱(chēng))

          rmdir /q /s d:\test\logs

          必須指定目錄名稱(chēng),不能使用通配符

          /S 除目錄本身外,還將刪除指定目錄下的所有子目錄

          /Q 安靜模式,帶 /S 刪除目錄樹(shù)時(shí)不要求確認(rèn)

          無(wú)論里面是否有文件或文件夾將全部直接刪除

          2.創(chuàng)建目錄

          MKDIR [drive:]path

          MD [drive:]path

          路徑有空格時(shí),可以用雙引號(hào)括起來(lái),也可以用 替代

          實(shí)踐部分:

          ======================================================================

          一、小摘錄:

          1. 調(diào)用其他程序時(shí),對(duì)文件的大小寫(xiě)不敏感,文件后綴也可忽略

          如:start LeapFTP.exe 與 start leapftp 效果一樣,都是運(yùn)行“LeapFTP.exe”文件

          每行的開(kāi)頭的字符串會(huì)自動(dòng)查找程序來(lái)運(yùn)行,還可用雙引號(hào)引起來(lái)(文件名或目錄名含空格時(shí)必須用)

          如:"D:\Program Files\Leap FTP.exe"

          "LeapFTP.exe" 可正常運(yùn)行文件,start "" "LeapFTP.exe" 也可以正常運(yùn)行文件(注意,第一個(gè)參數(shù)是窗口顯示的標(biāo)題)

          3. copy C:\test\*.* D:\back (復(fù)制C盤(pán)test文件夾的所有文件(不包括文件夾及子文件夾里的東西)到D盤(pán)的back文件夾)

          4. dir c:\*.* > a.txt (將c盤(pán)文件列表寫(xiě)入 a.txt 中)

          5. > 生成文件并寫(xiě)入內(nèi)容(如果有這文件則覆蓋), >> 文件里追加內(nèi)容

          6. md d:\aa (創(chuàng)建文件夾)

          7. 在命令末尾加上“>NUL 2>NUL”,表示隱蔽返回信息。

          8. 等待用戶輸入: set /p 變量名=屏幕顯示信息。 Sample:set /p pass=請(qǐng)輸入密碼:

          9. 讓用戶按回車(chē)退出

          小技巧(替代pause),文件的最后一句:set /p tmp=操作結(jié)束,請(qǐng)按回車(chē)鍵退出...

          10.設(shè)置標(biāo)題: title JDK安裝

          11.設(shè)置屏幕顯示顏色,如綠色: color 0a

          12.清屏: cls

          13.查看自己的IP:

          for /f "tokens=15" %%i in ('ipconfig ^| find /i "ip address"') do set ip=%%i

          echo %ip% (這時(shí)的 %ip% 就是自己的IP地址)

          14. 修改文件的更新日期

          copy 文件名+,,>nul (修改為當(dāng)前時(shí)間,如果要修改為指定時(shí)間,先修改系統(tǒng)時(shí)間,再改回系統(tǒng)時(shí)間)

          15. 修改文件的后綴名

          ren C:\test\*.jpg *.JPG

          for /r %%c in (*.jpg) do (ren %%c *.JPG) :: 修改當(dāng)前目錄下的所有文件的后綴名,包括子目錄的

          16. 修改文件的文件名

          rename test.jpg test2.JPG

          rename *.jpg *.888.JPG

          17. 查看DNS、IP、Mac等

          1) Win98: winipcfg

          2) Win2000以上: Ipconfig /all

          3) NSLOOKUP

          18.查看IP上的共享資源,就可以

          net view 192.168.10.8

          19.共享

          A.查看你機(jī)器的共享資源: net share

          B.手工刪除共享

          net share 共享資源名稱(chēng)$ /d

          注意$后有空格。

          C.增加一個(gè)共享:

          net share mymovie=e:\downloads\movie /users:3

          mymovie 共享成功。 同時(shí)限制鏈接用戶數(shù)為3人。

          20.打開(kāi)某網(wǎng)站

          start iexplore.exe http://www.baidu.com

          二、實(shí)例:

          1. 生成 reg 文件,運(yùn)行它,再刪除它

          echo "更改windows安裝文件的路徑"

          echo Windows Registry Editor Version 5.00 > c:\setupreg.reg

          echo [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Setup] >> c:\setupreg.reg

          echo "ServicePackSourcePath"="D:\\Win2003\\" >> c:\setupreg.reg

          echo "SourcePath"="D:\\Win2003\\" >> c:\setupreg.reg

          :: 寫(xiě)入注冊(cè)表

          regedit /S c:\setupreg.reg

          :: 刪除注冊(cè)表文件

          del c:\setupreg.reg

          2.調(diào)用了exe文件,結(jié)束后沒(méi)有關(guān)閉,解決方式

          用start命令運(yùn)行文件,如:

          start LeapFTP.exe 192.168.0.100

          3.設(shè)置系統(tǒng)環(huán)境變量

          :: 有這個(gè)環(huán)境變量,則不需再設(shè)置,直接結(jié)束

          if not "%JAVA_HOME%" == "" exit

          :: 設(shè)置環(huán)境變量的地址

          set inputJavaHome=%cd%\jdk1.6.0_07

          :: 設(shè)置環(huán)境變量,也可以設(shè)置當(dāng)前用戶的變量

          set EnvironmentHome=HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Environment

          echo 正在設(shè)置環(huán)境變量,請(qǐng)稍候......

          reg add "%EnvironmentHome%" /v JAVA_HOME /t reg_sz /d "%inputJavaHome%" /f

          reg add "%EnvironmentHome%" /v ClassPath /t reg_sz /d ".;%%JAVA_HOME%%\lib" /f

          reg add "%EnvironmentHome%" /v Path /t reg_sz /d "%%JAVA_HOME%%\bin;%Path%" /f]

          :: 刷新,令環(huán)境變量生效

          taskkill /f /im explorer.exe >nul

          start "" "explorer.exe"

          4.隱藏某目錄的所有文件及文件夾

          cd /d 要隱藏的目錄(如:D:)

          for /f "usebackq delims=" %%A in (`dir /a /b`) do (attrib "%%A" -r +h -s)

          5.在批處理中使用密碼。密碼為admin,輸入正確,跳轉(zhuǎn)到next1 ,若輸入密碼錯(cuò)誤3次,則鎖屏。。

          @echo off

          set num=0

          :11

          set /p pass=請(qǐng)輸入密碼:

          if "%pass%"=="admin" goto next1

          set /a num=%num% + 1

          if %num%==3 goto no1

          goto 11

          :no1

          %windir%\system32\rundll32.exe user32.dll,LockWorkStation

          goto 11

          :next1

          echo 密碼正確,執(zhí)行下面的程式

          pause

          6.清空回收站(未成功)

          @echo off

          del /f /s /q c:\recycler\*.*

          ::刷新屏幕

          taskkill /f /im explorer.exe >nul

          start "" "explorer.exe"

          7.讓系統(tǒng)斷斷續(xù)續(xù)地鳴叫

          @echo off

          :begin

          :: 發(fā)出鳴叫(“”實(shí)際就是ASCII碼值為7的特殊字符(蜂鳴鍵beep)

          echo 

          :: 讓程序暫停一小陣子

          ping -n 1 -l 1 127.1>nul

          goto :begin

          8.將 FAT 卷轉(zhuǎn)換成 NTFS

          利用“CONVERT.exe”進(jìn)行,解析如下:

          CONVERT volume /FS:NTFS [/V] [/CvtArea:filename] [/NoSecurity] [/X]

          volume 指定驅(qū)動(dòng)器號(hào)(后面跟一個(gè)冒號(hào))、裝載點(diǎn)或卷名。

          /FS:NTFS 指定要被轉(zhuǎn)換成 NTFS 的卷。

          /V 指定 Convert 應(yīng)該用詳述模式運(yùn)行。

          /CvtArea:filename

          將根目錄中的一個(gè)接續(xù)文件指定為NTFS 系統(tǒng)文件的占位符。

          /NoSecurity 指定每個(gè)人都可以訪問(wèn)轉(zhuǎn)換的文件和目錄的安全設(shè)置。

          /X 如果必要,先強(qiáng)行卸載卷。該卷的所有打開(kāi)的句柄則無(wú)效。

          程序如下:

          @ ECHO OFF

          @ ECHO.

          @ ECHO. 說(shuō) 明

          @ ECHO --------------------------------------------------------------------------

          @ ECHO NTFS是一種磁盤(pán)格式。該格式能存放大于4G的單個(gè)文件(如高清電影文件),并可對(duì)

          @ ECHO 文件夾進(jìn)行加密,但有個(gè)缺點(diǎn)是DOS下無(wú)法訪問(wèn)。建議D盤(pán)及其后的盤(pán)使用NTFS格式,

          @ ECHO C盤(pán)如非必要可以不轉(zhuǎn)換,F(xiàn)AT32與NTFS這兩種格式的讀寫(xiě)速度幾乎是沒(méi)有差別的。

          @ ECHO --------------------------------------------------------------------------

          @ ECHO.

          convert c: /fs:ntfs

          :: D盤(pán)也轉(zhuǎn)成 NTFS

          convert d: /fs:ntfs

          9. 獲取我的文檔

          SET SF="HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\Shell Folders"

          FOR /F "tokens=2,*" %%I IN ('REG QUERY %SF% /v Personal 2^>NUL^|FIND /I "Personal"') DO SET "myDoc=%%~J"

          :: 復(fù)制文件到我的文檔

          XCOPY /D /E /R /Y /C "%cd%\test.txt" "%myDoc%\test\"

          10 獲取當(dāng)前目錄路徑

          cd ./

          set CURR_PATH=%cd%

          ==========================================

          實(shí)例:

          3.IF-ERRORLEVEL

          @ECHO OFF

          XCOPY C:\AUTOEXEC.BAT D:IF ERRORLEVEL 1 ECHO 文件拷貝失敗

          IF ERRORLEVEL 0 ECHO 成功拷貝文件

          如果文件拷貝成功,屏幕就會(huì)顯示“成功拷貝文件”,否則就會(huì)顯示“文件拷貝失敗”。

          IF ERRORLEVEL 是用來(lái)測(cè)試它的上一個(gè)DOS命令的返回值的,注意只是上一個(gè)命令的返回值,而且返回值必須依照從大到小次序順序判斷。因此下面的批處理文件是錯(cuò)誤的:

          @ECHO OFF

          XCOPY C:\AUTOEXEC.BAT D:\

          CHO 成功拷貝文件

          IF ERRORLEVEL 1 ECHO 未找到拷貝文件

          IF ERRORLEVEL 2 ECHO 用戶通過(guò)ctrl-c中止拷貝操作

          IF ERRORLEVEL 3 ECHO 預(yù)置錯(cuò)誤阻止文件拷貝操作

          IF ERRORLEVEL 4 ECHO 拷貝過(guò)程中寫(xiě)盤(pán)錯(cuò)誤

          無(wú)論拷貝是否成功,后面的:

          未找到拷貝文件

          用戶通過(guò)ctrl-c中止拷貝操作

          預(yù)置錯(cuò)誤阻止文件拷貝操作

          拷貝過(guò)程中寫(xiě)盤(pán)錯(cuò)誤

          都將顯示出來(lái)。

          以下就是幾個(gè)常用命令的返回值及其代表的意義:

          backup

          0 備份成功

          1 未找到備份文件

          2 文件共享沖突阻止備份完成

          3 用戶用ctrl-c中止備份

          4 由于致命的錯(cuò)誤使備份操作中止

          diskcomp

          0 盤(pán)比較相同

          1 盤(pán)比較不同

          2 用戶通過(guò)ctrl-c中止比較操作

          3 由于致命的錯(cuò)誤使比較操作中止

          4 預(yù)置錯(cuò)誤中止比較

          diskcopy

          0 盤(pán)拷貝操作成功

          1 非致命盤(pán)讀/寫(xiě)錯(cuò)

          2 用戶通過(guò)ctrl-c結(jié)束拷貝操作

          3 因致命的處理錯(cuò)誤使盤(pán)拷貝中止

          4 預(yù)置錯(cuò)誤阻止拷貝操作

          format

          0 格式化成功

          3 用戶通過(guò)ctrl-c中止格式化處理

          4 因致命的處理錯(cuò)誤使格式化中止

          5 在提示“proceed with format(y/n)?”下用戶鍵入n結(jié)束

          xcopy

          0 成功拷貝文件

          1 未找到拷貝文件

          2 用戶通過(guò)ctrl-c中止拷貝操作

          4 預(yù)置錯(cuò)誤阻止文件拷貝操作

          5 拷貝過(guò)程中寫(xiě)盤(pán)錯(cuò)誤

          =============================================================

          @echo off //不顯示shell的命令。

          Setlocal //環(huán)境改變只適用于這個(gè)文件。

          %OS% //為當(dāng)前的操作系統(tǒng)。

          Rem //注釋一行文本。

          Goto 標(biāo)簽 //改變執(zhí)行順序,去標(biāo)簽位置.

         ?。簶?biāo)簽 //定義一個(gè)標(biāo)簽。

          Set 變量名=值 //定義變量

          Not //取反

          Netstat –na //顯示當(dāng)前被點(diǎn)用的端口.

          %0 %1 %2 //用于表示批處理文件的參數(shù)0為命令,共1-9個(gè)參數(shù)。

          Shift //用于向前一個(gè)參數(shù),原1變0,原2變1.每調(diào)用一次shift向前一移動(dòng)一位。

          Call //調(diào)用其他批處理文件或命令。

          Start 命令 參數(shù) //指示出在另一個(gè)窗口中開(kāi)始運(yùn)行命令。

          =============================================================

          :: 這段批處理程序可以自動(dòng)設(shè)置Java環(huán)境變量

          @echo off

          IF EXIST %1\bin\java.exe (

          rem 如輸入正確的 Java2SDK 安裝目錄,開(kāi)始設(shè)置環(huán)境變量

          @setx JAVA_HOME %1

          @setx path %path%;%JAVA_HOME%\bin

          @setx classpath %classpath%;.

          @setx classpath %classpath%;%JAVA_HOME%\lib\tools.jar

          @setx classpath %classpath%;%JAVA_HOME%\lib\dt.jar

          @setx classpath %classpath%;%JAVA_HOME%\jre\lib\rt.jar

          @echo on

          @echo Java 2 SDK 環(huán)境參數(shù)設(shè)置完畢,正常退出。

          ) ELSE (

          IF "%1"=="" (

          rem 如沒(méi)有提供安裝目錄,提示之后退出

          @echo on

          @echo 沒(méi)有提供 Java2SDK 的安裝目錄,不做任何設(shè)置,現(xiàn)在退出環(huán)境變量設(shè)置。

          ) ELSE (

          rem 如果提供非空的安裝目錄但沒(méi)有bin\java.exe,則指定的目錄為錯(cuò)誤的目錄

          @echo on

          @echo 非法的 Java2SDK 的安裝目錄,不做任何設(shè)置,現(xiàn)在退出環(huán)境變量設(shè)置。

          )

          )

          學(xué)習(xí)啦小編介紹了什么是批處理文件的相關(guān)知識(shí),希望你喜歡。

        .reg

          2) 修改/添加注冊(cè)表內(nèi)容

          a.一般的添加或修改

          reg add "HKCU\Environment" /v Java_Home /t reg_sz /d "D:\Java\jdk1.6.0_07" /f

          上句解析:“HKCU”是“HKEY_CURRENT_USER”的縮寫(xiě),不用縮寫(xiě)用全稱(chēng)也可以;

          添加名稱(chēng)為“Java_Home”的變量;類(lèi)型為“reg_sz”,另一種常見(jiàn)類(lèi)型是“reg_dword”;值為 D:\Java\jdk1.6.0_07;

          b.使用變量

          set SoftWareHome=HKEY_LOCAL_MACHINE\SOFTWARE\JavaSoft\Java

          reg add "%SoftWareHome%Web Start class="main">

        批處理文件

        時(shí)間: 春健736 分享

          c.如果注冊(cè)表的名稱(chēng)有空格,或者數(shù)據(jù)用特殊符號(hào)時(shí)

          reg add "%SoftWareHome2%\HelpCommands" /v "01:Online Documentation" /t reg_sz /d "\"%cd%\Documentation\Index.htm\"" /f

          傳入值為(值用雙引號(hào)括起來(lái)的):"D:\ProgramFiles class="main">

        批處理文件

        時(shí)間: 春健736 分享

          reg add "%SoftWareHome2%\Paths" /v ReportTemplates /t reg_sz /d "%cd%\Resource Files\Report Templates\" /f

          傳入值為(“\”結(jié)尾的): E:\Holemar class="main">

        批處理文件

        時(shí)間: 春健736 分享

          d.增加空的內(nèi)容

          reg add "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Shared Tools\MSConfig\startupreg\IMJPMIG8.1"

          e.添加或修改默認(rèn)值

          reg add "%vpath%InstallPath" /ve /t reg_sz /d "%cd%" /f

          這里用“/ve”來(lái)代替一般修改時(shí)的“/v 變量名”,即可修改默認(rèn)值了

          3) 刪除注冊(cè)表的內(nèi)容

          雙引號(hào)里面的是注冊(cè)表的目錄,下面兩句將刪除這目錄下的所有信息

          reg delete "HKEY_CURRENT_USER\Software\RealVNC" /f

          reg delete "HKEY_LOCAL_MACHINE\SOFTWARE\RealVNC" /f

          雙引號(hào)里面的是注冊(cè)表的目錄,下面一句將刪除這目錄下指定的某個(gè)信息

          reg delete "HKEY_LOCAL_MACHINE\Software\RealVNC" /v VNC_Server /f

          4) 注冊(cè)表的常用位置

          a.系統(tǒng)啟動(dòng)項(xiàng):

          [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run]

          [HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Run]

          example: REG ADD HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Run /v VNC_Server /t REG_SZ /d "%cd%\VNC_Server.bat" /f

          b.系統(tǒng)環(huán)境變量:

          [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Environment]

          c.當(dāng)前用戶的環(huán)境變量:

          [HKEY_CURRENT_USER\Environment]

          5) 修改注冊(cè)表之后,結(jié)束并重新加載explorer.exe進(jìn)程,可刷新注冊(cè)表,令其生效

          taskkill /f /im explorer.exe >nul

          start "" "explorer.exe"

          七、系統(tǒng)服務(wù)

          1) 停止服務(wù):NET STOP 服務(wù)名

          啟動(dòng)服務(wù):NET Start 服務(wù)名

          2) 設(shè)置啟動(dòng)類(lèi)型

          自動(dòng): SC CONFIG 服務(wù)名 START= auto

          手動(dòng): SC CONFIG 服務(wù)名 START= demand

          已禁用:SC CONFIG 服務(wù)名 START= disabled

          附:“START= ”等號(hào)后面必須要有一個(gè)空格。(start還有boot,system兩個(gè)值)

          Sample: SC CONFIG Spooler START= demand (打印機(jī)加載項(xiàng),設(shè)置成手動(dòng),默認(rèn)自動(dòng))

          3) 查看系統(tǒng)服務(wù):start %SystemRoot%\system32\services.msc /s

          八、setlocal與變量延遲

          0) 在沒(méi)有開(kāi)啟變量延遲的情況下,某條命令行中的變量改變,必須到下一條命令才能體現(xiàn)。

          另外例如for命令等,其后用一對(duì)圓括號(hào)閉合的所有語(yǔ)句也當(dāng)作一行。

          example:

          set a=4

          set a=5 & echo %a%

          結(jié)果:4

          也可以對(duì)這種機(jī)制加以利用,如下的變量交換

          example:

          set var1=abc

          set var2=123

          echo 交換前: var1=%var1% var2=%var2%

          set var1=%var2%& set var2=%var1%

          echo 交換后: var1=%var1% var2=%var2%

          1) 啟動(dòng)批處理文件中環(huán)境變量的本地化。本地化將持續(xù)到出現(xiàn)匹配的 endlocal 命令或者到達(dá)批處理文件結(jié)尾為止。

          語(yǔ)法: setlocal {enableextension | disableextensions} {enabledelayedexpansion | disabledelayedexpansion}

          enableextension: 啟用命令擴(kuò)展,直到出現(xiàn)匹配的 endlocal 命令,無(wú)論 setlocal 命令之前的設(shè)置如何。

          disableextensions: 禁用命令擴(kuò)展,直到出現(xiàn)匹配的 endlocal 命令,無(wú)論 setlocal 命令之前的設(shè)置如何。

          enabledelayedexpansion: 啟用延遲的環(huán)境變量擴(kuò)展,直到出現(xiàn)匹配的 endlocal 命令,無(wú)論 setlocal 命令之前的設(shè)置如何。

          disabledelayedexpansion: 禁用延遲的環(huán)境變量擴(kuò)展,直到出現(xiàn)匹配的 endlocal 命令,無(wú)論 setlocal 命令之前的設(shè)置如何。

          2) 為了能夠感知環(huán)境變量的動(dòng)態(tài)變化,批處理設(shè)計(jì)了變量延遲。簡(jiǎn)單來(lái)說(shuō),在讀取了一條完整的語(yǔ)句之后,不立即對(duì)該行的變量賦值,而會(huì)在某個(gè)單條語(yǔ)句執(zhí)行之前再進(jìn)行賦值,也就是說(shuō)“延遲”了對(duì)變量的賦值。

          examle:

          setlocal enabledelayedexpansion

          set a=4

          set a=5 & echo !a!

          結(jié)果: 5

          變量延遲的啟動(dòng)語(yǔ)句是“setlocal enabledelayedexpansion”,并且變量要用一對(duì)嘆號(hào)“!!”括起來(lái)

          由于啟動(dòng)了變量延遲,所以批處理能夠感知到動(dòng)態(tài)變化,即不是先給該行變量賦值,而是在運(yùn)行過(guò)程中給變量賦值,因此此時(shí)a的值就是5了

          另外,啟動(dòng)變量延遲,“%”的變量還是不變

          example2:

          setlocal enabledelayedexpansion

          for /l %%i in (1,1,5) do (

          set a=%%i

          echo !a!

          )

          結(jié)果,打印從1到5;如果不變量延遲,一個(gè)變量也沒(méi)有打印

          九、文件處理

          1.刪除

          1) 刪除一個(gè)文件或多個(gè)文件

          del /s /q /f d:\test\a.bat

          將直接刪除d:\test\a.bat,沒(méi)有任務(wù)提示

          del temp\* /q /f /s

          將直接刪除 本目錄的 temp 目錄的所有文件,沒(méi)有任務(wù)提示

          刪除文件的時(shí)候可以使用“*”作通配符

          2) 刪除一個(gè)空目錄

          rd /q /s d:\test\log

          將直接刪除d:\test\log目錄,如果log目錄里面有文件將無(wú)法刪除

          3) 刪除一個(gè)非空目錄 (必須指定目錄名稱(chēng))

          rmdir /q /s d:\test\logs

          必須指定目錄名稱(chēng),不能使用通配符

          /S 除目錄本身外,還將刪除指定目錄下的所有子目錄

          /Q 安靜模式,帶 /S 刪除目錄樹(shù)時(shí)不要求確認(rèn)

          無(wú)論里面是否有文件或文件夾將全部直接刪除

          2.創(chuàng)建目錄

          MKDIR [drive:]path

          MD [drive:]path

          路徑有空格時(shí),可以用雙引號(hào)括起來(lái),也可以用 替代

          實(shí)踐部分:

          ======================================================================

          一、小摘錄:

          1. 調(diào)用其他程序時(shí),對(duì)文件的大小寫(xiě)不敏感,文件后綴也可忽略

          如:start LeapFTP.exe 與 start leapftp 效果一樣,都是運(yùn)行“LeapFTP.exe”文件

          每行的開(kāi)頭的字符串會(huì)自動(dòng)查找程序來(lái)運(yùn)行,還可用雙引號(hào)引起來(lái)(文件名或目錄名含空格時(shí)必須用)

          如:"D:\Program Files\Leap FTP.exe"

          "LeapFTP.exe" 可正常運(yùn)行文件,start "" "LeapFTP.exe" 也可以正常運(yùn)行文件(注意,第一個(gè)參數(shù)是窗口顯示的標(biāo)題)

          3. copy C:\test\*.* D:\back (復(fù)制C盤(pán)test文件夾的所有文件(不包括文件夾及子文件夾里的東西)到D盤(pán)的back文件夾)

          4. dir c:\*.* > a.txt (將c盤(pán)文件列表寫(xiě)入 a.txt 中)

          5. > 生成文件并寫(xiě)入內(nèi)容(如果有這文件則覆蓋), >> 文件里追加內(nèi)容

          6. md d:\aa (創(chuàng)建文件夾)

          7. 在命令末尾加上“>NUL 2>NUL”,表示隱蔽返回信息。

          8. 等待用戶輸入: set /p 變量名=屏幕顯示信息。 Sample:set /p pass=請(qǐng)輸入密碼:

          9. 讓用戶按回車(chē)退出

          小技巧(替代pause),文件的最后一句:set /p tmp=操作結(jié)束,請(qǐng)按回車(chē)鍵退出...

          10.設(shè)置標(biāo)題: title JDK安裝

          11.設(shè)置屏幕顯示顏色,如綠色: color 0a

          12.清屏: cls

          13.查看自己的IP:

          for /f "tokens=15" %%i in ('ipconfig ^| find /i "ip address"') do set ip=%%i

          echo %ip% (這時(shí)的 %ip% 就是自己的IP地址)

          14. 修改文件的更新日期

          copy 文件名+,,>nul (修改為當(dāng)前時(shí)間,如果要修改為指定時(shí)間,先修改系統(tǒng)時(shí)間,再改回系統(tǒng)時(shí)間)

          15. 修改文件的后綴名

          ren C:\test\*.jpg *.JPG

          for /r %%c in (*.jpg) do (ren %%c *.JPG) :: 修改當(dāng)前目錄下的所有文件的后綴名,包括子目錄的

          16. 修改文件的文件名

          rename test.jpg test2.JPG

          rename *.jpg *.888.JPG

          17. 查看DNS、IP、Mac等

          1) Win98: winipcfg

          2) Win2000以上: Ipconfig /all

          3) NSLOOKUP

          18.查看IP上的共享資源,就可以

          net view 192.168.10.8

          19.共享

          A.查看你機(jī)器的共享資源: net share

          B.手工刪除共享

          net share 共享資源名稱(chēng)$ /d

          注意$后有空格。

          C.增加一個(gè)共享:

          net share mymovie=e:\downloads\movie /users:3

          mymovie 共享成功。 同時(shí)限制鏈接用戶數(shù)為3人。

          20.打開(kāi)某網(wǎng)站

          start iexplore.exe http://www.baidu.com

          二、實(shí)例:

          1. 生成 reg 文件,運(yùn)行它,再刪除它

          echo "更改windows安裝文件的路徑"

          echo Windows Registry Editor Version 5.00 > c:\setupreg.reg

          echo [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Setup] >> c:\setupreg.reg

          echo "ServicePackSourcePath"="D:\Win2003\" >> c:\setupreg.reg

          echo "SourcePath"="D:\Win2003\" >> c:\setupreg.reg

          :: 寫(xiě)入注冊(cè)表

          regedit /S c:\setupreg.reg

          :: 刪除注冊(cè)表文件

          del c:\setupreg.reg

          2.調(diào)用了exe文件,結(jié)束后沒(méi)有關(guān)閉,解決方式

          用start命令運(yùn)行文件,如:

          start LeapFTP.exe 192.168.0.100

          3.設(shè)置系統(tǒng)環(huán)境變量

          :: 有這個(gè)環(huán)境變量,則不需再設(shè)置,直接結(jié)束

          if not "%JAVA_HOME%" == "" exit

          :: 設(shè)置環(huán)境變量的地址

          set inputJavaHome=%cd%\jdk1.6.0_07

          :: 設(shè)置環(huán)境變量,也可以設(shè)置當(dāng)前用戶的變量

          set EnvironmentHome=HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Environment

          echo 正在設(shè)置環(huán)境變量,請(qǐng)稍候......

          reg add "%EnvironmentHome%" /v JAVA_HOME /t reg_sz /d "%inputJavaHome%" /f

          reg add "%EnvironmentHome%" /v ClassPath /t reg_sz /d ".;%%JAVA_HOME%%\lib" /f

          reg add "%EnvironmentHome%" /v Path /t reg_sz /d "%%JAVA_HOME%%\bin;%Path%" /f]

          :: 刷新,令環(huán)境變量生效

          taskkill /f /im explorer.exe >nul

          start "" "explorer.exe"

          4.隱藏某目錄的所有文件及文件夾

          cd /d 要隱藏的目錄(如:D:)

          for /f "usebackq delims=" %%A in (`dir /a /b`) do (attrib "%%A" -r +h -s)

          5.在批處理中使用密碼。密碼為admin,輸入正確,跳轉(zhuǎn)到next1 ,若輸入密碼錯(cuò)誤3次,則鎖屏。。

          @echo off

          set num=0

          :11

          set /p pass=請(qǐng)輸入密碼:

          if "%pass%"=="admin" goto next1

          set /a num=%num% + 1

          if %num%==3 goto no1

          goto 11

          :no1

          %windir%\system32\rundll32.exe user32.dll,LockWorkStation

          goto 11

          :next1

          echo 密碼正確,執(zhí)行下面的程式

          pause

          6.清空回收站(未成功)

          @echo off

          del /f /s /q c:\recycler\*.*

          ::刷新屏幕

          taskkill /f /im explorer.exe >nul

          start "" "explorer.exe"

          7.讓系統(tǒng)斷斷續(xù)續(xù)地鳴叫

          @echo off

          :begin

          :: 發(fā)出鳴叫(“”實(shí)際就是ASCII碼值為7的特殊字符(蜂鳴鍵beep)

          echo 

          :: 讓程序暫停一小陣子

          ping -n 1 -l 1 127.1>nul

          goto :begin

          8.將 FAT 卷轉(zhuǎn)換成 NTFS

          利用“CONVERT.exe”進(jìn)行,解析如下:

          CONVERT volume /FS:NTFS [/V] [/CvtArea:filename] [/NoSecurity] [/X]

          volume 指定驅(qū)動(dòng)器號(hào)(后面跟一個(gè)冒號(hào))、裝載點(diǎn)或卷名。

          /FS:NTFS 指定要被轉(zhuǎn)換成 NTFS 的卷。

          /V 指定 Convert 應(yīng)該用詳述模式運(yùn)行。

          /CvtArea:filename

          將根目錄中的一個(gè)接續(xù)文件指定為NTFS 系統(tǒng)文件的占位符。

          /NoSecurity 指定每個(gè)人都可以訪問(wèn)轉(zhuǎn)換的文件和目錄的安全設(shè)置。

          /X 如果必要,先強(qiáng)行卸載卷。該卷的所有打開(kāi)的句柄則無(wú)效。

          程序如下:

          @ ECHO OFF

          @ ECHO.

          @ ECHO. 說(shuō) 明

          @ ECHO --------------------------------------------------------------------------

          @ ECHO NTFS是一種磁盤(pán)格式。該格式能存放大于4G的單個(gè)文件(如高清電影文件),并可對(duì)

          @ ECHO 文件夾進(jìn)行加密,但有個(gè)缺點(diǎn)是DOS下無(wú)法訪問(wèn)。建議D盤(pán)及其后的盤(pán)使用NTFS格式,

          @ ECHO C盤(pán)如非必要可以不轉(zhuǎn)換,F(xiàn)AT32與NTFS這兩種格式的讀寫(xiě)速度幾乎是沒(méi)有差別的。

          @ ECHO --------------------------------------------------------------------------

          @ ECHO.

          convert c: /fs:ntfs

          :: D盤(pán)也轉(zhuǎn)成 NTFS

          convert d: /fs:ntfs

          9. 獲取我的文檔

          SET SF="HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\Shell Folders"

          FOR /F "tokens=2,*" %%I IN ('REG QUERY %SF% /v Personal 2^>NUL^|FIND /I "Personal"') DO SET "myDoc=%%~J"

          :: 復(fù)制文件到我的文檔

          XCOPY /D /E /R /Y /C "%cd%\test.txt" "%myDoc%\test\"

          10 獲取當(dāng)前目錄路徑

          cd ./

          set CURR_PATH=%cd%

          ==========================================

          實(shí)例:

          3.IF-ERRORLEVEL

          @ECHO OFF

          XCOPY C:\AUTOEXEC.BAT D:IF ERRORLEVEL 1 ECHO 文件拷貝失敗

          IF ERRORLEVEL 0 ECHO 成功拷貝文件

          如果文件拷貝成功,屏幕就會(huì)顯示“成功拷貝文件”,否則就會(huì)顯示“文件拷貝失敗”。

          IF ERRORLEVEL 是用來(lái)測(cè)試它的上一個(gè)DOS命令的返回值的,注意只是上一個(gè)命令的返回值,而且返回值必須依照從大到小次序順序判斷。因此下面的批處理文件是錯(cuò)誤的:

          @ECHO OFF

          XCOPY C:\AUTOEXEC.BAT D:\

          CHO 成功拷貝文件

          IF ERRORLEVEL 1 ECHO 未找到拷貝文件

          IF ERRORLEVEL 2 ECHO 用戶通過(guò)ctrl-c中止拷貝操作

          IF ERRORLEVEL 3 ECHO 預(yù)置錯(cuò)誤阻止文件拷貝操作

          IF ERRORLEVEL 4 ECHO 拷貝過(guò)程中寫(xiě)盤(pán)錯(cuò)誤

          無(wú)論拷貝是否成功,后面的:

          未找到拷貝文件

          用戶通過(guò)ctrl-c中止拷貝操作

          預(yù)置錯(cuò)誤阻止文件拷貝操作

          拷貝過(guò)程中寫(xiě)盤(pán)錯(cuò)誤

          都將顯示出來(lái)。

          以下就是幾個(gè)常用命令的返回值及其代表的意義:

          backup

          0 備份成功

          1 未找到備份文件

          2 文件共享沖突阻止備份完成

          3 用戶用ctrl-c中止備份

          4 由于致命的錯(cuò)誤使備份操作中止

          diskcomp

          0 盤(pán)比較相同

          1 盤(pán)比較不同

          2 用戶通過(guò)ctrl-c中止比較操作

          3 由于致命的錯(cuò)誤使比較操作中止

          4 預(yù)置錯(cuò)誤中止比較

          diskcopy

          0 盤(pán)拷貝操作成功

          1 非致命盤(pán)讀/寫(xiě)錯(cuò)

          2 用戶通過(guò)ctrl-c結(jié)束拷貝操作

          3 因致命的處理錯(cuò)誤使盤(pán)拷貝中止

          4 預(yù)置錯(cuò)誤阻止拷貝操作

          format

          0 格式化成功

          3 用戶通過(guò)ctrl-c中止格式化處理

          4 因致命的處理錯(cuò)誤使格式化中止

          5 在提示“proceed with format(y/n)?”下用戶鍵入n結(jié)束

          xcopy

          0 成功拷貝文件

          1 未找到拷貝文件

          2 用戶通過(guò)ctrl-c中止拷貝操作

          4 預(yù)置錯(cuò)誤阻止文件拷貝操作

          5 拷貝過(guò)程中寫(xiě)盤(pán)錯(cuò)誤

          =============================================================

          @echo off //不顯示shell的命令。

          Setlocal //環(huán)境改變只適用于這個(gè)文件。

          %OS% //為當(dāng)前的操作系統(tǒng)

          Rem //注釋一行文本。

          Goto 標(biāo)簽 //改變執(zhí)行順序,去標(biāo)簽位置.

         ?。簶?biāo)簽 //定義一個(gè)標(biāo)簽。

          Set 變量名=值 //定義變量

          Not //取反

          Netstat –na //顯示當(dāng)前被點(diǎn)用的端口.

          %0 %1 %2 //用于表示批處理文件的參數(shù)0為命令,共1-9個(gè)參數(shù)。

          Shift //用于向前一個(gè)參數(shù),原1變0,原2變1.每調(diào)用一次shift向前一移動(dòng)一位。

          Call //調(diào)用其他批處理文件或命令。

          Start 命令 參數(shù) //指示出在另一個(gè)窗口中開(kāi)始運(yùn)行命令。

          =============================================================

          :: 這段批處理程序可以自動(dòng)設(shè)置Java環(huán)境變量

          @echo off

          IF EXIST %1\bin\java.exe (

          rem 如輸入正確的 Java2SDK 安裝目錄,開(kāi)始設(shè)置環(huán)境變量

          @setx JAVA_HOME %1

          @setx path %path%;%JAVA_HOME%\bin

          @setx classpath %classpath%;.

          @setx classpath %classpath%;%JAVA_HOME%\lib\tools.jar

          @setx classpath %classpath%;%JAVA_HOME%\lib\dt.jar

          @setx classpath %classpath%;%JAVA_HOME%\jre\lib\rt.jar

          @echo on

          @echo Java 2 SDK 環(huán)境參數(shù)設(shè)置完畢,正常退出。

          ) ELSE (

          IF "%1"=="" (

          rem 如沒(méi)有提供安裝目錄,提示之后退出

          @echo on

          @echo 沒(méi)有提供 Java2SDK 的安裝目錄,不做任何設(shè)置,現(xiàn)在退出環(huán)境變量設(shè)置。

          ) ELSE (

          rem 如果提供非空的安裝目錄但沒(méi)有bin\java.exe,則指定的目錄為錯(cuò)誤的目錄

          @echo on

          @echo 非法的 Java2SDK 的安裝目錄,不做任何設(shè)置,現(xiàn)在退出環(huán)境變量設(shè)置。

          )

          )

          學(xué)習(xí)啦小編介紹了什么是批處理文件的相關(guān)知識(shí),希望你喜歡。

        581027 主站蜘蛛池模板: 国产精品综合色区av| 国产精品一区二区三粉嫩| 老色99久久九九爱精品| 激情内射亚州一区二区三区爱妻| 欧美视频免费一区二区三区 | 不卡AV中文字幕手机看| 久久国产综合精品欧美| 四虎国产精品永久在线| 亚洲人成人无码www| 国产剧情福利一区二区麻豆| 在线播放亚洲人成电影| 国产成人午夜在线视频极速观看| 在线中文字幕亚洲日韩2020| 日本xxxb孕交| 深夜释放自己在线观看| 黑人巨大精品欧美在线观看| 日韩有码国产精品一区| 亚州毛色毛片免费观看| 久久国内精品自在自线观看| 亚洲伊人久久综合成人| 亚洲sm另类一区二区三区| 国产综合色精品一区二区三区| 免费男人j桶进女人p无遮挡动态图 | 最近中文字幕在线中文视频| 精品国产成人国产在线观看| 色天天综合网| 日韩精品一区二区三区久| 精品一区二区不卡无码av| 色熟妇人妻久久中文字幕| 国产精品伦人视频免费看| 亚洲爆乳少妇无码激情| 亚洲av无码专区在线亚| 老司机精品影院一区二区三区| 亚洲一卡2卡3卡4卡精品| 日韩人妻一级av一区二区| 少妇办公室好紧好爽再浪一点| 亚洲精品国产三级在线观看| 丁香五月婷激情综合第九色| 熟女少妇av免费观看| 变态另类视频一区二区三区| 久久精品国产免费观看频道|