Batch file 批处理增量值
我尝试从文件中读取一个值并将其递增。但是如果我增加一个大于8的值,结果是1。这是我的密码:Batch file 批处理增量值,batch-file,Batch File,我尝试从文件中读取一个值并将其递增。但是如果我增加一个大于8的值,结果是1。这是我的密码: for /f "delims=" %%i in (VERSION.txt) do set ver=%%i set /a ver+=1 echo 0%ver%>>VERSION.txt echo Build: %ver% 我的文件看起来像: 06 07 08 01 02 03 有人能解释一下怎么回事吗?带前导零的数字被解释为八进制数08不是有效的八进制数。前导零的数字被解释为八进制数08不是
for /f "delims=" %%i in (VERSION.txt) do set ver=%%i
set /a ver+=1
echo 0%ver%>>VERSION.txt
echo Build: %ver%
我的文件看起来像:
06
07
08
01
02
03
有人能解释一下怎么回事吗?带前导零的数字被解释为八进制数<代码>08不是有效的八进制数。前导零的数字被解释为八进制数<代码>08不是有效的八进制数。前导零的数字被解释为八进制数<代码>08不是有效的八进制数。前导零的数字被解释为八进制数
08
不是有效的八进制数。您必须在不使用0的情况下保存您的值:
测试:
set/a toto=08+1
对于解释器,这不是十进制、十六进制或八进制的有效值
你最好这样做:
@echo off
for /f "delims=" %%i in (VERSION.txt) do set ver=%%i
set /a ver+=1
echo %ver%>VERSION.txt
echo Build: 0%ver%
@echo off
for /f "delims=" %%i in (VERSION.txt) do set "ver=%%i"
if "%ver:~0,1%"=="0" set "ver=%ver:~1%"
set /a ver+=1
echo 0%ver%>>VERSION.txt
echo Build: 0%ver%
编辑:
你可以这样做:
@echo off
for /f "delims=" %%i in (VERSION.txt) do set ver=%%i
set /a ver+=1
echo %ver%>VERSION.txt
echo Build: 0%ver%
@echo off
for /f "delims=" %%i in (VERSION.txt) do set "ver=%%i"
if "%ver:~0,1%"=="0" set "ver=%ver:~1%"
set /a ver+=1
echo 0%ver%>>VERSION.txt
echo Build: 0%ver%
您必须在不使用0的情况下保存您的值: 测试:
set/a toto=08+1
对于解释器,这不是十进制、十六进制或八进制的有效值
你最好这样做:
@echo off
for /f "delims=" %%i in (VERSION.txt) do set ver=%%i
set /a ver+=1
echo %ver%>VERSION.txt
echo Build: 0%ver%
@echo off
for /f "delims=" %%i in (VERSION.txt) do set "ver=%%i"
if "%ver:~0,1%"=="0" set "ver=%ver:~1%"
set /a ver+=1
echo 0%ver%>>VERSION.txt
echo Build: 0%ver%
编辑:
你可以这样做:
@echo off
for /f "delims=" %%i in (VERSION.txt) do set ver=%%i
set /a ver+=1
echo %ver%>VERSION.txt
echo Build: 0%ver%
@echo off
for /f "delims=" %%i in (VERSION.txt) do set "ver=%%i"
if "%ver:~0,1%"=="0" set "ver=%ver:~1%"
set /a ver+=1
echo 0%ver%>>VERSION.txt
echo Build: 0%ver%
您必须在不使用0的情况下保存您的值: 测试:
set/a toto=08+1
对于解释器,这不是十进制、十六进制或八进制的有效值
你最好这样做:
@echo off
for /f "delims=" %%i in (VERSION.txt) do set ver=%%i
set /a ver+=1
echo %ver%>VERSION.txt
echo Build: 0%ver%
@echo off
for /f "delims=" %%i in (VERSION.txt) do set "ver=%%i"
if "%ver:~0,1%"=="0" set "ver=%ver:~1%"
set /a ver+=1
echo 0%ver%>>VERSION.txt
echo Build: 0%ver%
编辑:
你可以这样做:
@echo off
for /f "delims=" %%i in (VERSION.txt) do set ver=%%i
set /a ver+=1
echo %ver%>VERSION.txt
echo Build: 0%ver%
@echo off
for /f "delims=" %%i in (VERSION.txt) do set "ver=%%i"
if "%ver:~0,1%"=="0" set "ver=%ver:~1%"
set /a ver+=1
echo 0%ver%>>VERSION.txt
echo Build: 0%ver%
您必须在不使用0的情况下保存您的值: 测试:
set/a toto=08+1
对于解释器,这不是十进制、十六进制或八进制的有效值
你最好这样做:
@echo off
for /f "delims=" %%i in (VERSION.txt) do set ver=%%i
set /a ver+=1
echo %ver%>VERSION.txt
echo Build: 0%ver%
@echo off
for /f "delims=" %%i in (VERSION.txt) do set "ver=%%i"
if "%ver:~0,1%"=="0" set "ver=%ver:~1%"
set /a ver+=1
echo 0%ver%>>VERSION.txt
echo Build: 0%ver%
编辑:
你可以这样做:
@echo off
for /f "delims=" %%i in (VERSION.txt) do set ver=%%i
set /a ver+=1
echo %ver%>VERSION.txt
echo Build: 0%ver%
@echo off
for /f "delims=" %%i in (VERSION.txt) do set "ver=%%i"
if "%ver:~0,1%"=="0" set "ver=%ver:~1%"
set /a ver+=1
echo 0%ver%>>VERSION.txt
echo Build: 0%ver%
正如乔伊已经说过的,任何带前导零的数字都被解释为八进制。 但您可以通过在其前面添加一个来进行计算,然后将其剥离:
...
set /a ver=1%%i+1
echo %ver:~1%
...
用
echo打开运行它,看看会发生什么。正如Joey已经说过的,任何带前导零的数字都被解释为八进制。
但您可以通过在其前面添加一个来进行计算,然后将其剥离:
...
set /a ver=1%%i+1
echo %ver:~1%
...
用echo打开运行它,看看会发生什么。正如Joey已经说过的,任何带前导零的数字都被解释为八进制。
但您可以通过在其前面添加一个来进行计算,然后将其剥离:
...
set /a ver=1%%i+1
echo %ver:~1%
...
用echo打开运行它,看看会发生什么。正如Joey已经说过的,任何带前导零的数字都被解释为八进制。
但您可以通过在其前面添加一个来进行计算,然后将其剥离:
...
set /a ver=1%%i+1
echo %ver:~1%
...
在echo打开的情况下运行它,查看发生了什么。如果没有尾随零,它将不起作用。十进制数前缀是什么?没有十进制数前缀。必须对第一个字符进行测试,如果值为零,则将其从变量中删除。如果没有尾随的零,则无法工作。十进制数前缀是什么?没有十进制数前缀。必须对第一个字符进行测试,如果值为零,则将其从变量中删除。如果没有尾随的零,则无法工作。十进制数前缀是什么?没有十进制数前缀。必须对第一个字符进行测试,如果值为零,则将其从变量中删除。如果没有尾随的零,则无法工作。十进制数前缀是什么?没有十进制数前缀。必须对第一个字符进行测试,如果值为零,则将其从变量中删除。