我正在使用this thread中的代码来获取明天的日期。它如下:
@echo off
set /a d=%date:~0,2%
set /a m=%date:~3,2%
set /a y=%date:~6,4%
:loop
set /a d+=1
if %d% gtr 31 (
set d=1
set /a m+=1
if %m% gtr 12 (
set m=1
set /a y+=1
)
)
xcopy /d:%m%-%d%-%y% /l . .. >nul 2>&1 || goto loop
echo %d%/%m%/%y%
但是我收到以下错误:
号码无效。数字常量是十进制(17), 十六进制(0x11)或八进制(021)。
虽然在帖子的文字中说:
为变量赋值时,我们使用SET / A(而不是 只是SET)克服尝试执行八进制的问题 '08'和'09'之后的算术运算。这是因为前导零 在算术分配期间被修剪掉。
答案 0 :(得分:7)
假设,您在日和月中有前导零:
set /a d=1%date:~0,2%-100 set /a m=1%date:~3,2%-100 set /a y=%date:~6,4%