簡體   English   中英

Windows批處理腳本中的SET / A命令中使用的&符號

[英]ampersand used in SET /A command in Windows batch script

您能否建議SET命令中使用“&”或“ ^”的含義是什么(我使用Google找不到任何解釋)。

例如,以下Windows批處理代碼塊

SET V_COMMAND=3
SET /A V_FLAG="%V_COMMAND%&2"
echo VFlag is: %V_FLAG%

生產:

VFlag is: 2

但是我對上面的命令沒有任何意見。

另外還有一個帶有“ ^ ”的情況:

SET V_COMMAND=3
SET /A V_FLAG="%V_COMMAND%^3"
echo VFlag is: %V_FLAG%

對於這種情況,輸出為:

VFlag is: 0

由於您使用的是set /a ,因此指示的字符是按位運算符:

& = bitwise AND = 1 if both bits are 1
^ = bitwise XOR = 1 if only one of the two bits is 1

因此,如果a10 (二進制為1010 )而b為13(二進制為1101

         1010              1010
         1101              1101
         ----              ----
         1000 = a & b      0111 = a ^ b

或者您的情況是3 dec = 11 bin2 dec = 10 bin

           11                11
           10                11
           --                --
           10 = 3&2 = 2      00 = 3^3 = 0

這些是按位運算符- &是按位AND, ^是按位XOR。 這些按位運算符僅可用於SET /A

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM