語法形式:
SET [variable=[string]]
SET /P variable=[promptString]
SET /A expression
環境變量替換形式:
%PATH:str1=str2%
%PATH:~10,5%
%PATH:~-10%
%PATH:~0,-2%
一、SET [variable=[string]]
示例1:
@echo off
set
pause
顯示所有的變量的值
示例2:
@echo off
set var=我是值
echo %var%
pause
請看set var=我是值,這就是BAT直接在批處理中設置變量的方法!
是命令var是變量名=號右邊的"我是值"是變量的值
在批處理中我們要引用這個變量就把var變量名用兩個%(百分號)擴起來,如%var%
二、SET /P variable=[promptString]
有時候我們需要提供一個交互界面,讓用户自己輸入變量的值,然後我們在來根據這個值來做相應操作,現在我就來説説這SET的這種語法,只需要加一個"/P"參數就可以了!
實例1:
@echo off
set /p var=請輸入你的名字:
echo您的名字是:%var%
pause
是命令語法var是變量名=號右邊的"請輸入變量的值: ",這個是提示語,不是變
量的值了!
運行後,我們在提示語後面直接輸入robin,就會顯示一行您”您的名字是:robin”
三、SET /A expression
/A命令行開關指定等號右邊的字符串為被評估的數字表達式。
該表達式解析很簡單並以遞減的優先權順序支持下列操作:
()-分組
! ~ --一元運算符
* / % -算數運算符
+ --算數運算符
<< >>-邏輯移位
&-按位“與”
^-按位“異”
|-按位“或”
= *= /= %= += -=&= ^= |= <<= >>=-賦值
,-表達式分隔符
set的/A參數就是讓SET可以支持數學符號進行加減等一些數學運算!
現在開始舉例子介紹這些數學符號的用法:
看例子這裏的例子請直接在CMD下拷貝命令運行,不需要保存為BAT!
語法, var變量名1 + 1數學式子
拷貝運行後會直接顯示一個2,或者運行完後我們輸入echo %var%,也是二,這就是
一個簡單的加法運算!
結果是多少呢?如果你看不到結果就echo %var%.....
乘法運算
除法運算
結果等於4看得懂吧!
實例1:
@echo off
set /a a=1+1,b=2+1,c=3+1
echo %a% %b% %c%
實例2:
@echo off
set a=100
set b=1000
set /a c=a+b
echo the result is :%c%
pause
有時候我們需要直接在原變量進行加減操作就可以用這種語法
set /a var+=1這樣的語法對應原始語法就是set /a var = %var% + 1
都是一樣的結果,在原變量的值上在進行數學運算,不過這樣寫簡單一點
在來一個:
其他都這麼用,只要幫助裏有這個語法!
另外還有一些用邏輯或取餘操作符,這些符號,按照上面的使用方法會報錯的
比如我們在CMD裏輸入set /a var=1 & 1 "與運算",他並不會顯示為1,而是報錯,
為什麼?對於這樣的"邏輯或取餘操作符",我們需要把他們用雙引號引起來,看例子
這樣結果就顯示出來了,其他邏輯或取餘操作符用法
異運算
取模運算
set /a var= 4 ">>" 2位右移
實例3:
@echo off
set a=100
set b=1000
set /a c=a+b
set /a c= c "<<" 2
echo the result is :%c%
pause
這些符號也可以用&= ^= |= <<= >>=這樣的簡單用法如
等於set /a var = %var% "&" 1注意引號