答案来自 Chat GPT
@echo off
setlocal
rem 设置字符串
set "str=9"
rem 检查字符串长度
if "%str:~1%"=="" (
set "str=0%str%"
)
echo 结果:%str%
endlocal
在这个示例中,我们首先将字符串9存储在变量str中。然后,我们使用子字符串提取操作%str:~1%来获取字符串的第二个字符之后的子字符串。如果该子字符串为空,则说明原始字符串只有一个字符。在这种情况下,我们使用字符串连接操作符%将一个零和原始字符串连接起来,得到一个新的字符串。最后,我们使用echo命令输出结果。
当你运行脚本时,如果原始字符串只有一个字符,它将在其前面添加一个零,并输出结果为09。如果原始字符串包含多个字符,则不会添加零,并输出原始字符串本身。
这样,你就可以在字符串只有一个字符时,在其前面添加一个零。
去掉前导0
@echo off
setlocal
rem 设置带前导零的数字常量
set "day=09"
rem 去除前导零
if "%day:~0,1%"=="0" set "day=%day:~1%"
rem 执行算术运算
set /A result=day + 1
echo 结果:%result%
endlocal
在这个示例中,我们首先检查变量day的第一个字符是否为零。如果是,我们使用字符串替换操作%day:~1%来去除第一个字符(即前导零)。然后,我们使用set /A命令执行算术运算day + 1,并将结果存储在变量result中。
现在,当你运行脚本时,它将成功地去除前导零并执行算术运算,输出结果为10。请注意,这种方法假设变量day始终包含两位数字。如果变量的长度可能不同,你可能需要进行额外的处理来确保前导零被正确地去除。
标签:set,windows,个位数,echo,批处理,rem,字符串,前导,day From: https://www.cnblogs.com/jsom/p/17384505.html