• <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>

            批處理中符號(hào)的意義

            一、單符號(hào)
            ~

            ① 在for中表示使用增強(qiáng)的變量擴(kuò)展。
            ② 在%var:~n,m%中表示使用擴(kuò)展環(huán)境變量指定位置的字符串。
            ③ 在set/a中表示一元運(yùn)算符,將操作數(shù)按位取反。

            !
            ① 在set /a中一元運(yùn)算符,表示邏輯非。比如set /a a=!0,這時(shí)a就表示邏輯1。

            @
            ① 隱藏命令行本身的回顯,常用于批處理中。

            $
            ① 在findstr命令里面表示一行的結(jié)束。
            ② 在prompt命令里面,表示將其后的字符轉(zhuǎn)義(符號(hào)化或者效果化)。

            %
            ① 在set /a中的二元運(yùn)算符,表示算術(shù)取余。
            ② 命令行環(huán)境下,在for命令in前,后面接一個(gè)字符(可以是字母、數(shù)字或者一些特定字符),表示指定一個(gè)循環(huán)或者遍歷指標(biāo)變量。
            ③ 批處理中,后接一個(gè)數(shù)字表示引用本批處理當(dāng)前執(zhí)行時(shí)的指定的參數(shù)。
            ④ 其它情況下,%將會(huì)被脫去(批處理)或保留(命令行)

            ^
            ① 取消特定字符的轉(zhuǎn)義作用,比如& | > < ! "等,但不包括%。比如要在屏幕顯示一些特殊的字符,比如> >> | ^ &等符號(hào)時(shí),就可以在其前面加一個(gè)^符號(hào)來(lái)顯示這個(gè)^后面的字符了,^^就是顯示一個(gè)^,^|就是顯示一個(gè)|字符了;
            ② 在set/a中的二元運(yùn)算符,表示按位異或。
            ③ 在findstr/r的[]中表示不匹配指定的字符集。

            &
            ① 命令連接字符。比如我要在一行文本上同時(shí)執(zhí)行兩個(gè)命令,就可以用&命令連接這兩個(gè)命令。
            ② 在set/a中是按位與。

            *
            ① 代表任意個(gè)任意字符,就是我們通常所說(shuō)的"通配符";比如想在c盤的根目錄查找c盤根目錄里所有的文本文件(.txt),那么就可以輸入命令"dir c:\*.txt"。
            ② 在set /a中的二元運(yùn)算符,表示算術(shù)乘法。
            ③ 在findstr/r中表示將前一個(gè)字符多次匹配。

            -
            ① 范圍表示符,比如日期的查找,for命令里的tokens操作中就可以用到這個(gè)字符。
            ② 在findstr/r中連接兩個(gè)字符表示匹配范圍。
            ③ -跟在某些命令的/后表示取反向的開關(guān)。
            ④ 在set /a中:
            1.表示一個(gè)負(fù)數(shù)。
            2.表示算術(shù)減運(yùn)算。

            +
            ① 主要是在copy命令里面會(huì)用到它,表示將很多個(gè)文件合并為一個(gè)文件,就要用到這個(gè)+字符了。
            ② 在set/a中的二元運(yùn)算符,表示算術(shù)加法。

            :
            ① 標(biāo)簽定位符,表示其后的字符串為以標(biāo)簽,可以作為goto命令的作用對(duì)象。比如在批處理文件里面定義了一個(gè)":begin"標(biāo)簽,用"goto begin"命令就可以轉(zhuǎn)到":begin"標(biāo)簽后面來(lái)執(zhí)行批處理命令了。
            ② 在%var:string1=string2%中分隔變量名和被替換字串關(guān)系。

            |
            ① 管道符,就是將上一個(gè)命令的輸出,作為下一個(gè)命令的輸入."dir /a/b |more"就可以逐屏的顯示dir命令所輸出的信息。
            ② 在set/a中的二元運(yùn)算符,表示按位或。
            ③ 在幫助文檔中表示其前后兩個(gè)開關(guān)、選項(xiàng)或參數(shù)是二選一的。

            /
            ① 表示其后的字符(串)是命令的功能開關(guān)(選項(xiàng))。比如"dir /s/b/a-d"表示"dir"命令指定的不同的參數(shù)。
            ② 在set/a中表示除法。

            >
            ① 命令重定向符,將其前面的命令的輸出結(jié)果重新定向到其后面的設(shè)備中去,后面的設(shè)備中的內(nèi)容被覆蓋。比如可以用"dir > lxmxn.txt"將"dir"命令的結(jié)果輸出到"lxmxn.txt"這個(gè)文本文件中去。
            ② 在findstr/r中表示匹配單詞的右邊界,需要配合轉(zhuǎn)義字符\使用。

            <
            ① 將其后面的文件的內(nèi)容作為其前面命令的輸入。
            ② 在findstr/r中表示匹配單詞的左邊界,需要配合轉(zhuǎn)義字符\使用。

            =
            ① 賦值符號(hào),用于變量的賦值。比如"set a=windows"的意思意思是將"windows"這個(gè)字符串賦給變量"a"。
            ② 在set/a中表示算術(shù)運(yùn)算,比如"set /a x=5-6*5"。

            \
            ① 這個(gè)"\"符號(hào)在有的情況下,代表的是當(dāng)前路徑的根目錄.比如當(dāng)前目錄在c:\windows\system32下,那么你"dir \"的話,就相當(dāng)與"dir c:\"。
            ② 在findstr/r中表示正則轉(zhuǎn)義字符。

            ,
            ① 在set /a中表示連續(xù)表達(dá)式的分割符。
            ② 在某些命令中分割元素。

            .
            ① 在路徑的\后緊跟或者單獨(dú)出現(xiàn)時(shí):
            一個(gè).表示當(dāng)前目錄。
            兩個(gè).表示上一級(jí)目錄。
            ② 在路徑中的文件名中出現(xiàn)時(shí):
            最后的一個(gè).表示主文件名與擴(kuò)展文件名的分隔。

            ?
            ① 在findstr/r中表示在此位置匹配一個(gè)任意字符。
            ② 在路徑中表示在此位置通配任意一個(gè)字符。
            ③ 緊跟在/后表示獲取命令的幫助文檔。

            二、多符號(hào)(符號(hào)不能分隔)

            &&
            ① 連接兩個(gè)命令,當(dāng)&&前的命令成功時(shí),才執(zhí)行&&后的命令。

            ||
            ① 連接兩個(gè)命令,當(dāng)||前的命令失敗時(shí),才執(zhí)行||后的命令。

            >&
            ① 將一個(gè)句柄的輸出寫入到另一個(gè)句柄的輸入中。

            <&
            ① 從一個(gè)句柄讀取輸入并將其寫入到另一個(gè)句柄輸出中。

            %%
            ① 兩個(gè)連續(xù)的%表示在預(yù)處理中脫為一個(gè)%。
            ② 批處理中,在for語(yǔ)句的in子句之前,連續(xù)兩個(gè)%緊跟一個(gè)字符(可以是字母、數(shù)字和一些特定字符),表示指定一個(gè)循

            環(huán)或者遍歷指標(biāo)變量。
            ③ 批處理中,在for語(yǔ)句中,使用與in之前指定的指標(biāo)變量相同的串,表示引用這個(gè)指標(biāo)變量。

            >>
            ① 命令重定向符,將其前面的命令的輸出結(jié)果追加到其后面的設(shè)備中去。
            ② 在set /a中的二元運(yùn)算符,表示邏輯右移。

            ==
            ① 在if命令中判斷==兩邊的元素是否相同。

            <<
            ① 在set /a中的二元運(yùn)算符,表示邏輯左移。

            +=
            ① 在set /a中的二元運(yùn)算符。例如set /a a+=b表示將a加上b的結(jié)果賦值給a。

            -=
            ① 在set /a中的二元運(yùn)算符。例如set /a a-=b表示將a減去b的結(jié)果賦值給a。

            *=
            ① 在set /a中的二元運(yùn)算符。例如set /a a*=b表示將a乘以b的結(jié)果賦值給a。

            /=
            ① 在set /a中的二元運(yùn)算符。例如set /a a/=b表示將a加上b的結(jié)果賦值給a。

            %=
            ① 在set /a中的二元運(yùn)算符。例如set /a a%=b表示將a除以b的余數(shù)賦值給a。
            【注:命令行可以直接用 set /a a%=b ,在批處理里面可以用 set /a a%%=b 。】

            ^=
            ① 在set /a中的二元運(yùn)算符。例如set /a a"^="b表示將a與b按位異的結(jié)果賦值給a。
            【注:這里 "^=" 加引號(hào)是為了防止^被轉(zhuǎn)義,下同。】

            &=
            ① 在set /a中的二元運(yùn)算符。例如set /a a"&="b表示將a與b按位與的結(jié)果賦值給a。

            |=
            ① 在set /a中的二元運(yùn)算符。例如set /a a"|="b表示將a與b按位或的結(jié)果賦值給a。

            <<=
            ① 在set /a中的二元運(yùn)算符。例如set /a a"<<="b表示將a按位左移b位的結(jié)果賦值給a。

            >>=
            ① 在set /a中的二元運(yùn)算符。例如set /a a">>="b表示將a按位右移b位的結(jié)果賦值給a。

            \<
            ① 在findstr的一般表達(dá)式中表示字的開始處。

            \>
            ① 在findstr的一般表達(dá)式中表示字的結(jié)束處。

            三、雙符號(hào)對(duì)(兩個(gè)符號(hào)之間須指定字符串)

            ! !
            ① 當(dāng)啟用變量延遲時(shí),使用!!將變量名擴(kuò)起來(lái)表示對(duì)變量值的引用。

            ' '
            ① 在for/f中表示將它們包含的內(nèi)容當(dāng)作命令行執(zhí)行并分析其輸出。
            ② 在for/f "usebackq"中表示將它們包含的字符串當(dāng)作字符串分析。

            ( )
            ① 命令包含或者是具有優(yōu)先權(quán)的界定符,比如for命令要用到這個(gè)(),我們還可以在if,echo等命令中見到它的身影。
            ② 在set /a中表示表達(dá)式分組。

            " "
            ① 界定符,在表示帶有空格的路徑時(shí)常要用""來(lái)將路徑括起來(lái),在一些命令里面也需要" "符號(hào)。
            ② 在for/f中將表示它們包含的內(nèi)容當(dāng)作字符串分析。
            ③ 在for/f "usebackq"表示它們包含的內(nèi)容當(dāng)作文件路徑并分析其文件的內(nèi)容。
            ④ 在其它情況下表示其中的內(nèi)容是一個(gè)完整的字符串,其中的>、>>、<、&、|、空格等不再轉(zhuǎn)義。

            ` `
            ① 在for/f中表示它們所包含的內(nèi)容當(dāng)作命令行執(zhí)行并分析它的輸出。

            % %
            ① 使用兩個(gè)單獨(dú)的%包含一個(gè)字符串表示引用以此串為名的環(huán)境變量。比如一個(gè)%time%可以擴(kuò)展到當(dāng)前的系統(tǒng)時(shí)間。

            [ ]
            ① 在幫助文檔表示其中的開關(guān)、選項(xiàng)或參數(shù)是可選的。
            ② 在findstr /r中表示按其中指定的字符集匹配。




            1.^取消特殊符號(hào)的作用
            例子:echo ^> >1.txt  將“>”輸出到1.txt中

            2.","某些時(shí)候可以當(dāng)空格使用
            例子:echo,  dir,c:\

            3.";"當(dāng)命令相同時(shí),可以將不同目標(biāo)用;來(lái)隔離
            例子:dir c:\;d:\

            4.= 賦值符號(hào),變量賦值。如"set a=windows"是將"windows"這個(gè)字符串賦給變量"a"。
            在set/a中表示算術(shù)運(yùn)算,比如"set /a x=5-6*5"。
            命令:SET /P Choice=選擇:
            顯示:選擇:   提示輸入“abc”
            命令:echo %choice%
            顯示:abc

            @echo off
            set txt1=%time:~0,2%
            ::當(dāng)前小時(shí)
            set txt2=%time:~3,2%
            ::當(dāng)前分鐘
            set txt3=%time:~6,2%
            ::當(dāng)前秒
            set time=%txt1%%txt2%%txt3%
            echo 當(dāng)前時(shí)間:%txt1%:%txt2%:%txt3%

            5.%在for循環(huán)中,循環(huán)變量引用格式:%%變量名.
            如:SUM.bat
            @echo off
            ::求1+2+3+…
            set sum=0
            for /l %%i in (1,1,%1) do set /a sum+=%%i
            echo 1+2+3+…+100=%sum%
            說(shuō)明:在命令行下輸入SUM 100,顯示結(jié)果為:
            1+2+3+…+100=505

            6.>>想用批處理實(shí)現(xiàn)向s.txt中多次分別導(dǎo)入文本例如:“aaaa","bbbb","cccc"
            實(shí)現(xiàn)s.txt內(nèi)效果如:
            aaaabbbbcccc
            可以執(zhí)行
            >>s.txt set/p="aaaa" <nul   同set/p="aaaa" >>s.txt <nul
            >>s.txt set/p="bbbb" <nul
            >>s.txt set/p="cccc" <nul

            7.一個(gè)刪除行的批處理
            有一A.TXT文件,在其中找到HZF時(shí),刪除含有HZF字符串的行(不分大小寫).
            findstr /ivc:"HZF" a.txt >b.txt
            @dir |findstr /n .*   給DIR文件打上行號(hào)
            find /v "HZF" a.txt>b.txt

            8.用批處理刪除文本每行的前幾個(gè)字符
            現(xiàn)在有a.txt 內(nèi)容如下
            \t (00:00:02) 123856

            \t (00:00:03) Hi!lg
            \i (00:00:03) traps
            \w (00:00:03) Diele
            \i (00:00:07) open
            現(xiàn)在想把 ) 以及前面的內(nèi)容刪除 只剩下
            123856

            Hi!ED
            traps
            Diele
            open

            for /f "tokens=3 delims= " %%a in (a.txt) do echo %%a>>b.txt     以空格為分隔符取第3個(gè)段內(nèi)容,如果為"tokens=2 delims= "則會(huì)選取包括括號(hào)以內(nèi)的內(nèi)容tokens只能是數(shù)字 delims是多個(gè)字符,如()

            9.一文本:D:\w\tongji.txt 共2000行,現(xiàn)在需要?jiǎng)h除前1500行,保留最后的500行。
            for /f "SKIP=1500 tokens=*" %%i in (D:\w\tongji.txt ) do (echo %%i>>hh.txt)
            刪除空白行
            for /f "eol==" %%a in (aa.txt) do echo %%a>>b.txt 刪除首字符為=的所有行及空白行
            for /f "delims=" %%i in (aa.txt) do echo %%i>>b.txt 刪除空白行
            實(shí)際上"eol="和"delims="均可刪除空白行,即只要""內(nèi)有內(nèi)容,即可刪除空白行 (自注:如果缺少delims=項(xiàng),則默認(rèn)分隔符為空格)

            10.我IP是隨機(jī)的,我用以下命令:
            ipconfig /all > c:\1.txt
            find "IP Address" c:\1.txt >> c:\ip.txt
            自注(可用ipconfig /all|find "IP Address")
            那么就會(huì)得出ip.txt,里面的內(nèi)容為
            ---------- C:\1.TXT
            IP Address. . . . . . . . . . . . : 192.168.0.5
            IP Address. . . . . . . . . . . . : 218.15.245.210

            我只是想導(dǎo)出的內(nèi)容只有IP,也就是說(shuō)ip.txt里面只有192.168.0.5和218.15.245.210

            @echo off
            for /f "tokens=2 delims=:" %%a in ('ipconfig /all^|find "IP Address"') do (echo IP地址為:%%a)
            pause 我IP是隨機(jī)的,我用以下命令:
            ipconfig /all > c:\1.txt
            find "IP Address" c:\1.txt >> c:\ip.txt
            自注(可用ipconfig /all|find "IP Address")
            那么就會(huì)得出ip.txt,里面的內(nèi)容為
            ---------- C:\1.TXT
            IP Address. . . . . . . . . . . . : 192.168.0.5
            IP Address. . . . . . . . . . . . : 218.15.245.210

            我只是想導(dǎo)出的內(nèi)容只有IP,也就是說(shuō)ip.txt里面只有192.168.0.5和218.15.245.210

            @echo off
            for /f "tokens=2 delims=:" %%a in ('ipconfig /all^|find "IP Address"') do (echo IP地址為:%%a)
            pause

             

            11.用批處理命令刪除文本文件的整行內(nèi)容
            用批處理命令bat解決
            例如文本文件a.txt的內(nèi)容如下:
            001,李明,語(yǔ)文,90分
            002,李明,數(shù)學(xué),70分
            003,李明,離散數(shù)學(xué),63分
            004,李明,英語(yǔ),60分
            005,陳紅,語(yǔ)文,80分
            006,陳紅,數(shù)學(xué),60分
            007,陳紅,離散數(shù)學(xué),78分
            008,陳紅,英語(yǔ),65分
            求:如果某行有“數(shù)學(xué)”或者“英語(yǔ)”這個(gè)詞,則刪除該行的內(nèi)容。
            要求通過(guò)批處理得出如下結(jié)果:
            001,李明,語(yǔ)文,90分
            003,李明,離散數(shù)學(xué),63分
            005,陳紅,語(yǔ)文,80分
            007,陳紅,離散數(shù)學(xué),78分

            @echo off
            findstr /i /v ",數(shù)學(xué) 英語(yǔ)" "aa.txt">>jg.txt
            findstr /iv /c:",數(shù)學(xué)" /c:"英語(yǔ)" "aa.txt">>jg.txt (此命令與上行等效)
            findstr /iv /c:",數(shù)學(xué) 英語(yǔ)" "aa.txt">>jg.txt     (此命令失效,因?yàn)闆]有“,數(shù)學(xué) 英語(yǔ)”這樣的內(nèi)容)

            12.不換行顯示文本內(nèi)容
            for /f %%c in (aa.txt) do set /p=%%c>>c.txt<nul
            for /f %%a in (aa.txt) do set /p d+=%%a<nul>>c.txt
               換行顯示文本內(nèi)容
            for /f %%c in (aa.txt) do echo %%C>>c.txt

            13.變量賦值
            set hzf=abcd
            echo %hzf%        顯示為abcd

            posted on 2010-11-22 16:22 wrh 閱讀(716) 評(píng)論(0)  編輯 收藏 引用


            只有注冊(cè)用戶登錄后才能發(fā)表評(píng)論。
            網(wǎng)站導(dǎo)航: 博客園   IT新聞   BlogJava   博問(wèn)   Chat2DB   管理


            導(dǎo)航

            <2010年4月>
            28293031123
            45678910
            11121314151617
            18192021222324
            2526272829301
            2345678

            統(tǒng)計(jì)

            常用鏈接

            留言簿(19)

            隨筆檔案

            文章檔案

            收藏夾

            搜索

            最新評(píng)論

            閱讀排行榜

            評(píng)論排行榜

            丁香狠狠色婷婷久久综合| 久久久久免费视频| 久久亚洲AV无码精品色午夜| 99久久精品免费国产大片| 99久久99久久久精品齐齐 | 久久亚洲AV无码精品色午夜| 欧美大战日韩91综合一区婷婷久久青草 | 国产精品无码久久久久久| 亚洲色欲久久久综合网东京热 | 91久久九九无码成人网站| 精品精品国产自在久久高清| 国产午夜久久影院| 国产精品无码久久综合网| 亚洲国产成人久久综合野外| 欧美久久久久久| 久久亚洲精品国产精品| 成人久久精品一区二区三区| 国产精品亚洲美女久久久| 人人狠狠综合88综合久久| 成人久久免费网站| 久久精品国内一区二区三区| 久久毛片免费看一区二区三区| 午夜精品久久久久成人| 久久久精品国产sm调教网站| 美女写真久久影院| 亚洲一区精品伊人久久伊人 | 久久www免费人成精品香蕉| 香蕉久久永久视频| 国产综合久久久久| 伊人久久精品影院| 97久久超碰国产精品2021| 亚洲精品综合久久| 精品永久久福利一区二区| 久久久久久国产a免费观看不卡| 午夜精品久久久久久99热| 激情综合色综合久久综合| 日韩精品久久无码人妻中文字幕| 狠狠久久综合伊人不卡| 久久午夜羞羞影院免费观看| 四虎久久影院| 色噜噜狠狠先锋影音久久|