好的
这很简单。我只想在每次使用 +=
运算符时将数字加 1!
所以我像这样进入提示:
C:\Users\fsilveira>SET teste=000007
C:\Users\fsilveira>ECHO %teste%
000007
C:\Users\fsilveira>SET /A teste+=1
8
C:\Users\fsilveira>
哇不错。似乎工作正常。
从上一个的行为来看,如果我再次使用相同的运算符,它应该只是将 1 加到 8 上,对吗?所以我想我会有9个?但这是正在发生的事情:
C:\Users\fsilveira>SET teste=000008
C:\Users\fsilveira>ECHO %teste%
000008
C:\Users\fsilveira>SET /A teste+=1
1
C:\Users\fsilveira>
什么? 8 + 1 是 1 ? o_O
当涉及到数字 8 时,它无法正常工作(或者我认为它应该如何工作)
我快要疯了
请有人能帮助我并向我解释发生了什么事? 我真的不知道!
问候, 菲利普
最佳答案
当前缀为 0 时,它被重复为八进制数。并且 00008 不是有效的八进制数。您可以通过以下方式查看此操作的效果:
C:\Users>SET teste=000020
C:\Users>ECHO %teste%
000020
C:\Users>SET /A teste+=1
17
其中八进制的 00020
是十进制的 16
。
关于command-line - 在批处理文件中使用运算符 "+="的问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15626393/