久久国产成人av_抖音国产毛片_a片网站免费观看_A片无码播放手机在线观看,色五月在线观看,亚洲精品m在线观看,女人自慰的免费网址,悠悠在线观看精品视频,一级日本片免费的,亚洲精品久,国产精品成人久久久久久久

分享

DOS批處理高級教程(三) : 批處理變量和set命令詳解

 心靈地圖sxh 2018-07-23

前言

這里主要是帶著過一下相關(guān)的簡單概念和用法, 是對于有一定的基礎(chǔ)和編寫腳本經(jīng)驗(yàn)的同學(xué)而言,, 那么一般下面的用法都是一眼看出作用和原理起到一個復(fù)習(xí)的作用,。對于不熟悉的可以查詢相關(guān)命令和百度即可。

第四章 批處理中的變量

批處理中的變量,我把他分為兩類,分別為”系統(tǒng)變量”和”自定義變量”

一,、系統(tǒng)變量

他們的值由系統(tǒng)將其根據(jù)事先定義的條件自動賦值,也就是這些變量系統(tǒng)已經(jīng)給他們定義了值,
不需要我們來給他賦值,我們只需要調(diào)用而以!


  • %ALLUSERSPROFILE% 本地 返回“所有用戶”配置文件的位置,。
  • %APPDATA% 本地 返回默認(rèn)情況下應(yīng)用程序存儲數(shù)據(jù)的位置。
  • %CD% 本地 返回當(dāng)前目錄字符串,。
  • %CMDCMDLINE% 本地 返回用來啟動當(dāng)前的 Cmd.exe 的準(zhǔn)確命令行,。
  • %CMDEXTVERSION% 系統(tǒng) 返回當(dāng)前的“命令處理程序擴(kuò)展”的版本號。
  • %COMPUTERNAME% 系統(tǒng) 返回計(jì)算機(jī)的名稱,。
  • %COMSPEC% 系統(tǒng) 返回命令行解釋器可執(zhí)行程序的準(zhǔn)確路徑,。
  • %DATE% 系統(tǒng) 返回當(dāng)前日期。使用與 date /t 命令相同的格式,。由 Cmd.exe 生成,。有關(guān)
  • date 命令的詳細(xì)信息,請參閱 Date,。
  • %ERRORLEVEL% 系統(tǒng) 返回上一條命令的錯誤代碼,。通常用非零值表示錯誤。
  • %HOMEDRIVE% 系統(tǒng) 返回連接到用戶主目錄的本地工作站驅(qū)動器號,?;谥髂夸浿刀O(shè)置,。用戶主目錄是在“本地用戶和組”中指定的。
  • %HOMEPATH% 系統(tǒng) 返回用戶主目錄的完整路徑,?;谥髂夸浿刀O(shè)置。用戶主目錄是在“本地用戶和組”中指定的,。
  • %HOMESHARE% 系統(tǒng) 返回用戶的共享主目錄的網(wǎng)絡(luò)路徑,。基于主目錄值而設(shè)置,。用戶主目錄是

在“本地用戶和組”中指定的,。

  • %LOGONSERVER% 本地 返回驗(yàn)證當(dāng)前登錄會話的域控制器的名稱。
  • %NUMBER_OF_PROCESSORS% 系統(tǒng) 指定安裝在計(jì)算機(jī)上的處理器的數(shù)目,。
  • %OS% 系統(tǒng) 返回操作系統(tǒng)名稱,。Windows 2000 顯示其操作系統(tǒng)為 Windows_NT。
  • %PATH% 系統(tǒng) 指定可執(zhí)行文件的搜索路徑,。
  • %PATHEXT% 系統(tǒng) 返回操作系統(tǒng)認(rèn)為可執(zhí)行的文件擴(kuò)展名的列表,。
  • %PROCESSOR_ARCHITECTURE% 系統(tǒng) 返回處理器的芯片體系結(jié)構(gòu)。值:x86 或 IA64 基于
    Itanium
  • %PROCESSOR_IDENTFIER% 系統(tǒng) 返回處理器說明,。
  • %PROCESSOR_LEVEL% 系統(tǒng) 返回計(jì)算機(jī)上安裝的處理器的型號,。
  • %PROCESSOR_REVISION% 系統(tǒng) 返回處理器的版本號。
  • %PROMPT% 本地 返回當(dāng)前解釋程序的命令提示符設(shè)置,。由 Cmd.exe 生成,。
  • %RANDOM% 系統(tǒng) 返回 0 到 32767 之間的任意十進(jìn)制數(shù)字。由 Cmd.exe 生成,。
  • %SYSTEMDRIVE% 系統(tǒng) 返回包含 Windows server operating system 根目錄(即系統(tǒng)根目錄)
    NOTE : echo %WINDIR% 這樣就能顯示一個變量的值
  • 二,、自定義變量

    故名思意,自定義變量就是由我們來給他賦予值的變量

    要使用自定義變量就得使用set命令了,看例子.

    @echo off
    set var=我是值
    echo %var%
    pause
    • 1
    • 2
    • 3
    • 4

    保存為BAT執(zhí)行,我們會看到CMD里返回一個 “我是值”

    var為變量名,=號右變的是要給變量的值
    這就是最簡單的一種設(shè)置變量的方法了

    如果我們想讓用戶手工輸入變量的值,而不是在代碼里指定,可以用用set命令的/p參數(shù)

    例子:

    @echo off
    set /p var=請輸入變量的值
    echo %var%
    pause
    • 1
    • 2
    • 3
    • 4

    var變量名 =號右邊的是提示語,不是變量的值
    變量的值由我們運(yùn)行后自己用鍵盤輸入!

    第五章 set命令詳解

    簡單的介紹了一下SET設(shè)置自定義變量的作用,現(xiàn)在我來具體講一下set的其他功能.

    一、用set命令設(shè)置自定義變量

    前面已有部分應(yīng)用,, 這里就不加贅述了

    set /p 是命令語法 var是變量名 =號右邊的”請輸入變量的值: “,這個是提示語,不是變量的值了!
    運(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%
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9

    這機(jī)種語法有什么用處呢?下面我們來一個個講解他們!

    二,、用set命令進(jìn)行簡單計(jì)算

    語法:SET /A expression
    /A 命令行開關(guān)指定等號右邊的字符串為被評估的數(shù)字表達(dá)式。該表達(dá)式
    評估器很簡單并以遞減的優(yōu)先權(quán)順序支持下列操作:
    () -分組
    ! ~ - -一元運(yùn)算符
    * / % -算數(shù)運(yùn)算符
    + - -算數(shù)運(yùn)算符
    << >> -二進(jìn)制邏輯移位
    & -二進(jìn)制按位“與”
    ^ -二進(jìn)制按位“異”
    | -二進(jìn)制按位“或”
    = *= /= %= += -= -算數(shù)賦值
    &= ^= |= <<= >>= -二進(jìn)制運(yùn)算賦值
    , -表達(dá)式分隔符

      @echo off
      set /p input=請輸入計(jì)算表達(dá)式:
      set /a var=%input%
      echo 計(jì)算結(jié)果:%input%=%var%
      pause
    • 1
    • 2
    • 3
    • 4
    • 5

    三,、用set命令進(jìn)行字符串處理

    1,、字符串替換

    好了,符號說到這,,現(xiàn)在說%PATH:str1=str2%
    上面語法的意思就是:將字符串變量%PATH%中的str1替換為str2
    這個是替換變量值的內(nèi)容,看例子

    @echo off
    set a= bbs. verybat. cn
    echo 替換前的值: "%a%"
    set var=%a: =%
    echo 替換后的值: "%var%"
    pause
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6

    請注意:字符串的替換和截取功能在引用變量的地方均可以,,并不一定必須要有set命令 例: @echo off set
    a=bbs.verybat.cn echo 替換前的值: “%a%” echo 替換后的值: “%a:.=傷腦筋%” pause
    此例在echo語句中就替換了字符串,效果一樣,。

    2,、字符串截取

    a=bbs.verybat.cn
    %a:~1,2% =“bs” 偏移量1,從第二位開始向右取2位
    %a:~-3% =“.cn” 偏移量負(fù)3,,即倒數(shù)3位(也可理解為留下右邊3位),,右取全部
    %a:~3% =“.verybat.cn” 偏移量3(也可理解為去掉左邊3位),,右取全部
    %a:~0,-3% =“bbs.verybat” 偏移量0,右取長度至負(fù)3,,即倒數(shù)3位
    %a:~2,-3% =“s.verybat” 偏移量2,,右取長度至負(fù)3,即倒數(shù)3位


    所以,,截取功能統(tǒng)一語法格式為: %a:~[m[,n]]%


    方括號表示可選,,%a%為變量名,不可少,,冒號用于分隔變量名和說明部分,,符號~可以簡單理解為“偏移”即可,m為偏移量(缺省為0),,n為截取長度(缺省為全部)
    上面所述用法其實(shí)相當(dāng)于vbs函數(shù)mid、left,、right
    %a:~0,n% 相當(dāng)于函數(shù)left(a,n) 取左邊n位
    %a:~-m% 相當(dāng)于函數(shù)right(a,m) 取右邊m位
    %a:~m,n% 相當(dāng)于函數(shù)mid(a,m+1,n) 從m+1位開始取n位
    %a:~m,-n% 相當(dāng)于函數(shù)mid(a,m+1,len(a)-m-n),從m+1位開始,,至倒數(shù)n+1位
    %a:~m % 相當(dāng)于函數(shù)mid(a,m+1,len(a)-m) 或者right(a,len(a)-m),從m+1位開始取右邊全部,。

    思考題目:輸入任意字符串,,求字符串的長度

    @echo off
    set /p str=請輸入任意長度的字符串:
    echo 你輸入了字符串:"%str%"
    call :stringlenth "%str%" num
    echo 字符串長度為:%num%
    pause
    exit
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    :StringLenth.bat
    ::---------字符串長度計(jì)算子程序
    ::---------參數(shù)%1為字符串(如有空格,請用引號括起來)
    ::---------參數(shù)%2為返回變量名稱,,不能含空格或特殊字符
    ::@echo off
    set theString=%~1
    if not defined theString goto :eof
    set Return=0
    :StringLenth_continue
    set /a Return+=1
    set thestring=%thestring:~0,-1%
    if defined thestring goto StringLenth_continue
    if not "%2"=="" set %2=%Return%
    goto :eof
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14

    后記

    結(jié)束了變量和set命令的講解,, 一般這些內(nèi)容已經(jīng)能滿足日常的需要了, 在后面,, 我們將介紹DOS高級編程的一些基本例子并熟悉DOS

    參考文章 :
    DOS批處理教程

      本站是提供個人知識管理的網(wǎng)絡(luò)存儲空間,,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點(diǎn),。請注意甄別內(nèi)容中的聯(lián)系方式,、誘導(dǎo)購買等信息,謹(jǐn)防詐騙,。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,,請點(diǎn)擊一鍵舉報(bào)。
      轉(zhuǎn)藏 分享 獻(xiàn)花(0

      0條評論

      發(fā)表

      請遵守用戶 評論公約

      類似文章 更多