无效号码.数字常量为十进制(17),十六进制(0x11)或八进制(021)

Val*_*mas 5 batch-file

我希望执行一个批处理文件并让它自己调用10次.

set /a iteration=0%1+1
IF %iteration% EQU 10 exit
rem Taskkill /IM aspnet_compiler.exe /F
timeout 1
call KillBILLd.bat %iteration%
Run Code Online (Sandbox Code Playgroud)

但是,它只会在出错之前达到数字8

Invalid number.  Numeric constants are either decimal (17), hexadecimal (0x11), 
or octal (021).
Run Code Online (Sandbox Code Playgroud)

在线

set /a iteration=0%1+1
Run Code Online (Sandbox Code Playgroud)

我该如何解决这个错误?

Car*_*rum 6

你已经进入0%1了那个表达式 - 如果你的参数是8,那么扩展为08,这不是一个有效的八进制数(8不是八进制数),所以你得到了那个错误.我不是批处理文件专家,但我想你想放弃领先0:

set /a iteration=%1+1
Run Code Online (Sandbox Code Playgroud)

这是一些SET命令文档的链接.