批处理文件将08月作为无效的八进制处理

时间:2013-08-12 13:47:55

标签: batch-file

if /i %dd% LSS 10 set dd=%date:~8,1%

set /A dd=%dd% - 1

set /A mm=%mm% + 0

上面的脚本需要系统日期,当月份为8月,日期为1时遇到错误。

  

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

可能存在'08'的问题,这不是有效的八进制数。 那么如何用8号来管理8月份。

3 个答案:

答案 0 :(得分:0)

假设您的日期格式为Mo 08/12/2013

set /a day=1%date:~6,2%-100
set /a month=1%date:~3,2%-100

答案 1 :(得分:0)

基于Remove leading zeros in batch file,应使用以下内容:

cmd /c exit /b %dd%
set dd=%errorlevel%

cmd /c exit /b %mm%
set mm=%errorlevel%

set /A dd=%dd% - 1

set /A mm=%mm% + 0

答案 2 :(得分:0)

代码可以使用。 set /A %Variable% = 1%Variable% -100

假设%Variable%= 08

%变量%= 1%变量%-100

→%变量%= 108 - 100 = 8

在案例中添加代码。 set /A dd=1%dd%-100 set /A dd=%dd% - 1