語法形式:

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注意引號