批處理命令——set

from:https://www.cnblogs.com/Braveliu/p/5081084.htmlhtml

【1】set命令簡介express

  set,設置。測試

【2】set命令使用spa

  1. 打印系統環境變量。set命令能夠打印系統全部的環境變量信息。code

  應用示例:新建文本文件,命名爲set_sys,修改文件類型爲bat,用Notepad++打開編輯內容以下:htm

@echo off
::set 顯示全部系統環境變量
::set (暫時屏蔽掉,須要執行請去掉::)
pause>nul
::set c 顯示全部以C開頭的環境變量(不區分大小寫)
set c
pause>nul
::set q 顯示全部以Q開頭的環境變量(不區分大小寫)
set q
pause>nul  

執行結果:blog

  命令解析:索引

  第 3 行:因爲打印系統環境變量信息太多,暫時屏蔽掉,如有興趣在本機測試時候能夠去掉屏蔽命令(::)rem

  第 6 行:打印全部以C開頭的環境變量信息(不區分大小寫)字符串

  第 9 行:打印全部以Q開頭的環境變量信息(不區分大小寫) 

  2. 變量設置值。

  應用示例:新建文本文件,命名爲set_value,修改文件類型爲bat,用Notepad++打開編輯內容以下:

@echo off
set var=呵呵~我是變量var的值
echo %var%
set var=abcdefg
echo %var%
set var="abcdefg"
echo %var%
set "var=abcdefg"
echo %var%
pause>nul

  執行結果:

  命令解析:

  注意:各類爲變量賦值的寫法,以及存在的差別性。

  3. set /p命令。

  應用示例:新建文本文件,命名爲set_p,修改文件類型爲bat,用Notepad++打開編輯內容以下:

@echo off
set /p var=請輸入變量的值:
echo 你輸入的值是:%var%
pause>nul

  執行結果:

  命令解析:

  /p命令語法,做用能夠在用戶輸入前加一段說明性的描述,即想讓用戶輸入什麼內容之類的說明。

  4. set /a命令。

  應用示例:新建文本文件,命名爲set_a,修改文件類型爲bat,用Notepad++打開編輯內容以下:

@echo off
rem +運算符
set /a var=1+1
echo %var%
rem ()運算符
set /a var=(1+1) + (1+1)
echo %var%
rem *運算符
set /a var*=2
echo %var%
rem ,運算符 注意:求varB和varC時,兩種寫法的區別
set /a varA=var, varB=%var%*2, varC=var*3
echo %varA% %varB% %varC%
rem 與運算符,必須雙引號括起來
set /a varD=1"&"0
echo %varD%
rem 或運算符,必須雙引號括起來
set /a varE=1"|"0
echo %varE%
rem 異運算符,必須雙引號括起來
set /a varF=0"^"0
echo %varF%
pause>nul

  執行結果:

  命令解析:

  詳情見腳本註釋。/a expression 便可以用各類表達式爲變量賦值。 

  5. set替換做用

  應用示例:新建文本文件,命名爲set_swap,修改文件類型爲bat,用Notepad++打開編輯內容以下:

@echo off
set src= China I love you
echo 替換前的值: "%src%"
set des=%src:love=hate%
echo 替換後的值: "%des%"
set des=%src: =123%
echo 替換後的值: "%des%"
set des=%src:I=me%
echo 替換後的值: "%des%"
set des=%src:you=she%
echo 替換後的值: "%des%"
pause>nul

  執行結果:

  命令解析:

  一樣的語句,寫了那麼多,若是你有點概括總結的能力,估計應該能夠看出來了。

  總結個模板,即如此:set des=%src:str1=str2%

  做用簡述:把源變量src的值中全部的str1字符串替換成str2字符串,從而組合造成目標變量des的值。

  6. set取捨做用

  應用示例:新建文本文件,命名爲set_at,修改文件類型爲bat,用Notepad++打開編輯內容以下:

@echo off
set src=www.baidu.com.cn
echo %src%
set des=%src:~1,2%
echo %des%
set des=%src:~4,5%
echo %des%
set des=%src:~1,7%
echo %des%
set des=%src:~5%
echo %des%
set des=%src:~-5%
echo %des%
set des=%src:~0,-5%
echo %des%
set des=%src:~2,-3%
echo %des%
pause>nul

  執行結果:

  命令解析:

  第 4 行:~1,2 表示:把源變量src的值字符串從第1個索引位開始,取2位組成目標變量des的值(即:ww)。

  第 6 行:~4,5 表示:把源變量src的值字符串從第4個索引位開始,取5位組成目標變量des的值(即:baidu)。

  第 8 行:同理第四、6行(結果即:ww.baid)。

  第 10 行:~5 表示:把源變量src的值字符串從第5個索引位開始,取後面全部組成目標變量des的值(即:aidu.com.cn)。

  第 12 行:~-5 表示:把源變量src的值字符串從尾部開始取5個字符組成目標變量des的值(即:om.cn)。

  第 14 行:~0,-5 表示:把源變量src的值字符串從0索引位開始,至尾部數第五個索引位爲止取出組成目標變量des的值(即:www.baidu.c)

  第 16 行:與第14行同理(結果即:w.baidu.com)。  

 

Good Good Study, Day Day Up.

相關文章
相關標籤/搜索