批處理命令——set


【1】set命令簡介

  set,設置。

【2】set命令使用

  1. 打印系統環境變量。set命令可以打印系統所有的環境變量信息。

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

 1 @echo off
 2 ::set 顯示所有系統環境變量
 3 ::set (暫時屏蔽掉,需要執行請去掉::)
 4 pause>nul
 5 ::set c 顯示所有以C開頭的環境變量(不區分大小寫)
 6 set c
 7 pause>nul
 8 ::set q 顯示所有以Q開頭的環境變量(不區分大小寫)
 9 set q
10 pause>nul

  執行結果:

  命令解析:

  第 3 行:由於打印系統環境變量信息太多,暫時屏蔽掉,若有興趣在本機測試時候可以去掉屏蔽命令(::)

  第 6 行:打印所有以C開頭的環境變量信息(不區分大小寫)

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

  2. 變量設置值。

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

 1 @echo off
 2 set var=呵呵~我是變量var的值
 3 echo %var%
 4 set var=abcdefg
 5 echo %var%
 6 set var="abcdefg"
 7 echo %var%
 8 set "var=abcdefg"
 9 echo %var%
10 pause>nul

  執行結果:

  命令解析:

  注意:各種為變量賦值的寫法,以及存在的差異性。

  3. set /p命令。

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

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

  執行結果:

  命令解析:

  /p命令語法,作用可以在用戶輸入前加一段說明性的描述,即想讓用戶輸入什么內容之類的說明。

  4. set /a命令。

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

 1 @echo off
 2 rem +運算符
 3 set /a var=1+1
 4 echo %var%
 5 rem ()運算符
 6 set /a var=(1+1) + (1+1)
 7 echo %var%
 8 rem *運算符
 9 set /a var*=2
10 echo %var%
11 rem ,運算符 注意:求varB和varC時,兩種寫法的區別
12 set /a varA=var, varB=%var%*2, varC=var*3
13 echo %varA% %varB% %varC%
14 rem 與運算符,必須雙引號括起來
15 set /a varD=1"&"0
16 echo %varD%
17 rem 或運算符,必須雙引號括起來
18 set /a varE=1"|"0
19 echo %varE%
20 rem 異運算符,必須雙引號括起來
21 set /a varF=0"^"0
22 echo %varF%
23 pause>nul

  執行結果:

  命令解析:

  詳情見腳本注釋。/a expression 即可以用各種表達式為變量賦值。 

  5. set替換作用

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

 1 @echo off
 2 set src= China I love you
 3 echo 替換前的值: "%src%"
 4 set des=%src:love=hate%
 5 echo 替換后的值: "%des%"
 6 set des=%src: =123%
 7 echo 替換后的值: "%des%"
 8 set des=%src:I=me%
 9 echo 替換后的值: "%des%"
10 set des=%src:you=she%
11 echo 替換后的值: "%des%"
12 pause>nul

  執行結果:

  命令解析:

  同樣的語句,寫了那么多,如果你有點歸納總結的能力,估計應該可以看出來了。

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

  作用簡述:把源變量src的值中所有的str1字符串替換成str2字符串,從而組合形成目標變量des的值。

  6. set取舍作用

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

 1 @echo off
 2 set src=www.baidu.com.cn
 3 echo %src%
 4 set des=%src:~1,2%
 5 echo %des%
 6 set des=%src:~4,5%
 7 echo %des%
 8 set des=%src:~1,7%
 9 echo %des%
10 set des=%src:~5%
11 echo %des%
12 set des=%src:~-5%
13 echo %des%
14 set des=%src:~0,-5%
15 echo %des%
16 set des=%src:~2,-3%
17 echo %des%
18 pause>nul

  執行結果:

  命令解析:

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

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

  第 8 行:同理第4、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.

順序  選擇  循環  總結


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM