• <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>

            woaidongmao

            文章均收錄自他人博客,但不喜標(biāo)題前加-[轉(zhuǎn)貼],因其丑陋,見諒!~
            隨筆 - 1469, 文章 - 0, 評論 - 661, 引用 - 0
            數(shù)據(jù)加載中……

            BAT:第五節(jié)(set命令詳解)

            很久沒發(fā)貼了,今天來寫點(diǎn)講BAT的新手教學(xué)貼!
            在上一貼中我簡單的介紹了一下SET設(shè)置自定義變量的作用,現(xiàn)在我來具體講一下set的其他功
            能.
            先回顧一下他設(shè)置自定義變量的用法
            例子:
            @echo off
            set var=我是值
            echo %var%
            pause
            請看 set var=我是值 ,這就是BAT直接在批處理中設(shè)置變量的方法!
            set 是命令   var是變量名  =號右邊的"我是值"是變量的值
            在批處理中我們要引用這個(gè)變就把var變量名用兩個(gè)%(百分號)擴(kuò)起來,如%var%
            這種SET語法只能直接在BAT代碼的提前賦予變量的值,有時(shí)候我們需要提供一個(gè)交互界面,讓
            用戶自己輸入變量的值,然后我們在來根據(jù)這個(gè)值來做相應(yīng)操作,現(xiàn)在我就來說說這SET的這
            種語法,只需要加一個(gè)"/P"參數(shù)就可以了!
            例子:
            @echo off
            set /p var=請輸入變量的值:
            if %var% == 1 echo 您輸入了 1 ~_~
            pause
            set /p 是命令語法  var是變量名    =號右邊的"請輸入變量的值: ",這個(gè)是提示語,不是變
            量的值了!
            運(yùn)行后,我們在提示語后面直接輸入1,就會顯示一行您輸入了 1 ~_~ ,輸入別的就沒有任何反
            映!
            好了,先回顧到這,現(xiàn)在講SET其他功能
            使用set /?查看SET的幫助我們發(fā)現(xiàn)SET除了我上面講的
            SET [variable=[string]]
            SET /P variable=[promptString]
            這兩種語法外,還有如下幾種語法:
            SET /A expression
            環(huán)境變量替換已如下增強(qiáng):
            %PATH:str1=str2%
            %PATH:~10,5%
            %PATH:~-10%
            %PATH:~0,-2%
            這機(jī)種語法有什么用處呢?現(xiàn)在我們來一個(gè)個(gè)講解他們!
            SET /A expression 
            /A 命令行開關(guān)指定等號右邊的字符串為被評估的數(shù)字表達(dá)式。該表達(dá)式
            評估器很簡單并以遞減的優(yōu)先權(quán)順序支持下列操作:
                ()                  - 分組
                ! ~ -               - 一元運(yùn)算符
                * / %               - 算數(shù)運(yùn)算符
                + -                 - 算數(shù)運(yùn)算符
                &lt;&lt; &gt;&gt;               - 邏輯移位
                &                   - 按位“與”
                ^                   - 按位“異”
                |                   - 按位“或”
                = *= /= %= += -=    - 賦值
                  &= ^= |= &lt;&lt;= &gt;&gt;=
                ,                   - 表達(dá)式分隔符
            上面這些是系統(tǒng)幫助里的內(nèi)容,看著是不是有點(diǎn)暈,沒關(guān)系我來簡單解釋一下:
            set的/A參數(shù)就是讓SET可以支持?jǐn)?shù)學(xué)符號進(jìn)行加減等一些數(shù)學(xué)運(yùn)算!
            現(xiàn)在開始舉例子介紹這些數(shù)學(xué)符號的用法:
            看例子 這里的例子請直接在CMD下拷貝命令運(yùn)行,不需要保存為BAT!
            set /a var=1 + 1 
            set /a 語法, var變量名 1 + 1 數(shù)學(xué)式子
            拷貝運(yùn)行后會直接顯示一個(gè)2,或者運(yùn)行完后我們輸入echo %var%,也是二,這就是
            一個(gè)簡單的加法運(yùn)算!
            set /a var=2 - 1  結(jié)果是多少呢?如果你看不到結(jié)果就echo %var%.....
            set /a var=2 * 2 乘法運(yùn)算
            set /a var=2 / 2 除法運(yùn)算
            set /a var=(1+1) + (1+1) 結(jié)果等于4 看得懂吧!
            set /a a=1+1,b=2+1,c=3+1  運(yùn)行后會顯示一個(gè)4,但我們用
            echo %a% %b% %c%后看結(jié)果,會發(fā)現(xiàn)其他數(shù)學(xué)運(yùn)算也有效果!,這就是"斗"號的
            作用!
            有時(shí)候我們需要直接在原變量進(jìn)行加減操作就可以用這種語法
            set /a var+=1  這樣的語法對應(yīng)原始語法就是set /a var = %var% + 1
            都是一樣的結(jié)果,在原變量的值上在進(jìn)行數(shù)學(xué)運(yùn)算,不過這樣寫簡單一點(diǎn)
            在來一個(gè): 
            set /a var*=2
            其他都這么用,只要幫助里有這個(gè)語法!
            另外還有一些用邏輯或取余操作符,這些符號,按照上面的使用方法會報(bào)錯(cuò)的
            比如我們在CMD里輸入set /a var=1 & 1 "與運(yùn)算",他并不會顯示為1,而是報(bào)錯(cuò),
            為什么?對于這樣的"邏輯或取余操作符",我們需要把他們用雙引號引起來,看例子
            set /a var= 1 "&" 1 這樣結(jié)果就顯示出來了,其他邏輯或取余操作符用法
            set /a var= 1 "+" 1 異運(yùn)算
            set /a var= 1 "%" 1  取模運(yùn)算
            set /a var= 2 "&lt;&lt;" 2 次方運(yùn)算
            set /a var= 4 "&gt;&gt;" 2 這個(gè)不太記得數(shù)學(xué)里的叫法....
            還有幾個(gè)數(shù)學(xué)不太行,搞不清楚了....不列出來了,
            這些符號也可以用&= ^= |= &lt;&lt;= &gt;&gt;= 這樣的簡單用法如
            set /a var"&=" 1 等于set /a var = %var% "&" 1 注意引號
            好符號說到這,現(xiàn)在說%PATH:str1=str2%
            這個(gè)是替換變量值的內(nèi)容,看例子
            @echo off
            set a= bbs.verybat.cn
            echo 替換前的值: "%a%"
            set var=%a: =%
            echo 替換后的值: "%var%"
            pause
            對比一下,我們發(fā)現(xiàn)他把變量%a%的空格給替換掉了,從這個(gè)例子,我們就可以發(fā)現(xiàn)
            %PATH:str1=str2%這個(gè)操作就是把變量%PATH%的里的str1全部用str2替換
            比如我們把上面的例子改成這樣
            @echo off
            set a=bbs.verybat.cn
            echo 替換前的值: "%a%"
            set var=%a:.=傷腦筋%
            echo 替換后的值: "%var%"
            pause
            解釋set var=%a:.=傷腦筋%
                set命令 var變量名 字a是要進(jìn)行字符替換的變量的值,"."為要替換的值,
            "傷腦筋"為替換后的值!
            執(zhí)行后就會把變量%a%里面的"."全部替換為"傷腦筋"
            這就是set的替換字符的很好的功能!先講到這
            %PATH:~10,5%  這個(gè)什么意思,看例子:
            @echo off
            set a=bbs.verybat.cn
            set var=%a:~1,2%
            echo %var%
            pause
            執(zhí)行后,我們會發(fā)現(xiàn)只顯示了"bs"兩個(gè)字母,我們的變量%a%的值不是為bbs.verybat.cn嗎
            怎么只顯示了第2個(gè)字母和第3個(gè)字母"bs",分析一結(jié)果我們就可以很容易看出
            %PATH:~10,5%就是顯示變量PATH里指定幾位的值!
            分析set var=%a:~1,2%
              set命令 var變量值  a要進(jìn)行字符操作的變量 "1"從變量"a"第幾位開始顯示 "2"顯示幾位
            和起來就是把變量a的值從第一位開始,把后兩位賦予給變量var
            就樣因該明白了吧~
            其他兩種語法
            %PATH:~-10%
            %PATH:~0,-2%
            他們也是顯示指定變量指定幾位的值得的意思
            %PATH:~-10% 例子
            @echo off
            set a=bbs.verybat.cn
            set var=%a:~-3%
            echo %var%
            pause
            這個(gè)就是把變量a倒數(shù)3位的值給變量VAR
            當(dāng)然我們也可以改成這樣
            @echo off
            set a=bbs.verybat.cn
            set var=%a:~3%
            echo %var%
            pause
            這個(gè)就是把變量a的從第3位開始后面全部的值給變量VAR
            %PATH:~0,-2%  例子
            @echo off
            set a=bbs.verybat.cn
            set var=%a:~0,-3%
            echo %var%
            pause
            執(zhí)行后,我們發(fā)現(xiàn)顯示的是"bbs.verybat",少了".cn"
            從結(jié)果分析,很容易分析出,這是把變量a的值從0位開始,
            到倒數(shù)第三位之間的值全部賦予給var
            如果改成這樣
            @echo off
            set a=bbs.verybat.cn
            set var=%a:~2,-3%
            echo %var%
            pause
            那么他就是顯示從第2位開始減去倒數(shù)三位字符的值,并賦予給變量var
            好了set的一些用法,就介紹到這了,希望對各位有所幫助,時(shí)間不早睡覺Zz....

            posted on 2008-04-23 11:20 肥仔 閱讀(881) 評論(0)  編輯 收藏 引用 所屬分類: Windows開發(fā)

            久久亚洲欧洲国产综合| 久久99精品综合国产首页| 久久精品国产半推半就| 91久久婷婷国产综合精品青草| 久久WWW免费人成—看片| 2021国产精品久久精品| 成人久久综合网| 欧洲国产伦久久久久久久| 国内精品久久久久久99蜜桃| 日日狠狠久久偷偷色综合0| 久久午夜羞羞影院免费观看| 青青草原综合久久大伊人导航| 亚洲国产另类久久久精品黑人| 狠狠色综合久久久久尤物| 久久午夜福利无码1000合集| 青青青国产精品国产精品久久久久| 7777精品伊人久久久大香线蕉| 久久天堂电影网| 亚洲中文字幕久久精品无码APP| 色狠狠久久综合网| 亚洲v国产v天堂a无码久久| 久久777国产线看观看精品| 久久久亚洲欧洲日产国码是AV| 久久久久久国产精品无码下载| 7国产欧美日韩综合天堂中文久久久久 | 国产成人综合久久久久久| 久久久无码精品亚洲日韩按摩 | 久久精品国产2020| 一级做a爱片久久毛片| av无码久久久久不卡免费网站| 亚洲综合伊人久久综合| 久久综合亚洲色HEZYO社区| 热久久视久久精品18| 精品国产日韩久久亚洲| 久久亚洲精品国产亚洲老地址| 色婷婷久久久SWAG精品| 中文字幕久久精品| 蜜臀久久99精品久久久久久小说| 久久婷婷是五月综合色狠狠| 欧美午夜A∨大片久久 | 日韩电影久久久被窝网|