日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

bat set命令详解

發布時間:2024/9/21 编程问答 29 豆豆
生活随笔 收集整理的這篇文章主要介紹了 bat set命令详解 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

例子: ?

@echo off ?

set var=我是值 ?

echo %var% ?

pause ?

?

請看 set var=我是值 ,這就是BAT直接在批處理中設置變量的方法! ?

set 是命令 var是變量名 =號右邊的"我是值"是變量的值 ?

在批處理中我們要引用這個變就把var變量名用兩個%(百分號)擴起來,如%var% ?

?

?

這種SET語法只能直接在BAT代碼的酸前賦予變量的值,有時候我們需要提供一個交互界面,讓 ?

用戶自己輸入變量的值,然后我們在來根據這個值來做相應操作,現在我就來說說這SET的這 ?

種語法,只需要加一個"/P"參數就可以了! ?

?

例子: ?

@echo off ?

set /p var=請輸入變量的值: ??

if %var% == 1 echo 您輸入了 1 ~_~ ??

pause ?

?

set /p 是命令語法 var是變量名 =號右邊的"請輸入變量的值: ",這個是提示語,不是變 ?

?

量的值了! ?

運行后,我們在提示語后面直接輸入1,就會顯示一行您輸入了 1 ~_~ ,輸入別的就沒有任何反 ?

?

映! ?

?

好了,先回顧到這,現在講SET其他功能 ?

?

使用set /?查看SET的幫助我們發現SET除了我上面講的 ?

SET [variable=[string]] ?

SET /P variable=[promptString] ?

這兩種語法外,還有如下幾種語法: ?

SET /A expression ?

環境變量替換已如下增強: ?

%PATH:str1=str2% ?

%PATH:~10,5% ?

%PATH:~-10% ?

%PATH:~0,-2% ?

?

這機種語法有什么用處呢?現在我們來一個個講解他們! ?

?

SET /A expression ??

/A 命令行開關指定等號右邊的字符串為被評估的數字表達式。該表達式 ?

評估器很簡單并以遞減的優先權順序支持下列操作: ?

() - 分組 ?

! ~ - - 一元運算符 ?

* / % - 算數運算符 ?

+ - - 算數運算符 ?

<< >> - 邏輯移位 ?

& - 按位“與” ?

^ - 按位“異” ?

| - 按位“或” ?

= *= /= %= += -= - 賦值 ?

&= ^= |= <<= >>= ?

, - 表達式分隔符 ?

?

?

上面這些是系統幫助里的內容,看著是不是有點暈,沒關系我來簡單解釋一下: ?

set的/A參數就是讓SET可以支持數學符號進行加減等一些數學運算! ?

?

現在開始舉例子介紹這些數學符號的用法: ?

看例子 這里的例子請直接在CMD下拷貝命令運行,不需要保存為BAT! ?

set /a var=1 + 1 ??

set /a 語法, var變量名 1 + 1 數學式子 ?

?

拷貝運行后會直接顯示一個2,或者運行完后我們輸入echo %var%,也是二,這就是 ?

一個簡單的加法運算! ?

?

set /a var=2 - 1 結果是多少呢?如果你看不到結果就echo %var%..... ?

set /a var=2 * 2 乘法運算 ?

set /a var=2 / 2 除法運算 ?

set /a var=(1+1) + (1+1) 結果等于4 看得懂吧! ?

set /a a=1+1,b=2+1,c=3+1 運行后會顯示一個4,但我們用 ?

echo %a% %b% %c%后看結果,會發現其他數學運算也有效果!,這就是"斗"號的 ?

作用! ?

有時候我們需要直接在原變量進行加減操作就可以用這種語法 ?

set /a var+=1 這樣的語法對應原始語法就是set /a var = %var% + 1 ?

都是一樣的結果,在原變量的值上在進行數學運算,不過這樣寫簡單一點 ?

在來一個: ??

set /a var*=2 ??

其他都這么用,只要幫助里有這個語法! ?

?

另外還有一些用邏輯或取余操作符,這些符號,按照上面的使用方法會報錯的 ?

?

比如我們在CMD里輸入set /a var=1 & 1 "與運算",他并不會顯示為1,而是報錯, ?

為什么?對于這樣的"邏輯或取余操作符",我們需要把他們用雙引號引起來,看例子 ?

?

set /a var= 1 "&" 1 這樣結果就顯示出來了,其他邏輯或取余操作符用法 ?

set /a var= 1 "+" 1 異運算 ?

set /a var= 1 "%" 1 取模運算 ?

set /a var= 2 "<<" 2 次方運算 ?

set /a var= 4 ">>" 2 這個不太記得數學里的叫法.... ?

還有幾個數學不太行,搞不清楚了....不列出來了, ?

這些符號也可以用&= ^= |= <<= >>= 這樣的簡單用法如 ?

set /a var"&=" 1 等于set /a var = %var% "&" 1 注意引號 ?

?

好符號說到這,現在說%PATH:str1=str2% ?

這個是替換變量值的內容,看例子 ?

@echo off ?

set a= bbs.verybat.cn ?

echo 替換前的值: "%a%" ?

set var=%a: =% ?

echo 替換后的值: "%var%" ?

pause ?

?

對比一下,我們發現他把變量%a%的空格給替換掉了,從這個例子,我們就可以發現 ?

%PATH:str1=str2%這個操作就是把變量%PATH%的里的str1全部用str2替換 ?

?

比如我們把上面的例子改成這樣 ?

@echo off ?

set a=bbs.verybat.cn ?

echo 替換前的值: "%a%" ?

set var=%a:.=傷腦筋% ?

echo 替換后的值: "%var%" ?

pause ?

?

解釋set var=%a:.=傷腦筋% ?

set命令 var變量名 字a是要進行字符替換的變量的值,"."為要替換的值, ?

"傷腦筋"為替換后的值! ?

執行后就會把變量%a%里面的"."全部替換為"傷腦筋" ?

這就是set的隨換字符的很好的功能!先講到這 ?

?

%PATH:~10,5% 這個什么意思,看例子: ?

?

@echo off ?

set a=bbs.verybat.cn ?

set var=%a:~1,2% ?

echo %var% ?

pause ?

?

執行后,我們會發現只顯示了"bs"兩個字母,我們的變量%a%的值不是為bbs.verybat.cn嗎 ?

怎么只顯示了第2個字母和第3個字母"bs",分析一結果我們就可以很容易看出 ?

%PATH:~10,5%就是顯示變量PATH里指定幾位的值! ?

分析set var=%a:~1,2% ?

set命令 var變量值 a要進行字符操作的變量 "1"從變量"a"第幾位開始顯示 "2"顯示幾位 ?

和起來就是把變量a的值從第一位開始,把后兩位賦予給變量var ?

就樣因該明白了吧~ ?

?

其他兩種語法 ?

%PATH:~-10% ?

%PATH:~0,-2% ?

他們也是顯示指定變量指定幾位的值得的意思 ?

?

%PATH:~-10% 例子 ?

?

@echo off ?

set a=bbs.verybat.cn ?

set var=%a:~-3% ?

echo %var% ?

pause ?

這個就是把變量a倒數3位的值給變量VAR ?

?

當然我們也可以改成這樣 ?

@echo off ?

set a=bbs.verybat.cn ?

set var=%a:~3% ?

echo %var% ?

pause ?

?

這個就是把變量a的從第3位開始后面全部的值給變量VAR ?

?

%PATH:~0,-2% 例子 ?

?

@echo off ?

set a=bbs.verybat.cn ?

set var=%a:~0,-3% ?

echo %var% ?

pause ?

執行后,我們發現顯示的是"bbs.verybat",少了".cn" ?

從結果分析,很容易分析出,這是把變量a的值從0位開始, ?

到倒數第三位之間的值全部賦予給var ?

?

如果改成這樣 ?

?

@echo off ?

set a=bbs.verybat.cn ?

set var=%a:~2,-3% ?

echo %var% ?

pause

總結

以上是生活随笔為你收集整理的bat set命令详解的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。