首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >低批数的测试

低批数的测试
EN

Stack Overflow用户
提问于 2017-09-17 15:45:47
回答 1查看 21关注 0票数 1

我试图在个位数前面加一个0,数字是1-15。如果数字小于1,那么它就可以忽略它了。当我运行这个,它只是崩溃,说10是不期望在这个时候。我很确定这个方法很糟糕。

代码语言:javascript
复制
if %slide1% lss 10 set slide1=0%R1%
if %slide2% lss 10 set slide2=0%R2%
if %slide3% lss 10 set slide3=0%R3%
if %slide4% lss 10 set slide4=0%R4%
if %slide5% lss 10 set slide5=0%R5%
if %slide6% lss 10 set slide6=0%R6%
if %slide7% lss 10 set slide7=0%R7%
if %slide8% lss 10 set slide8=0%R8%
if %slide9% lss 10 set slide9=0%R9%
if %slide10% lss 10 set slide10=0%R10%
if %slide11% lss 10 set slide11=0%R11%
if %slide12% lss 10 set slide12=0%R12%
if %slide13% lss 10 set slide13=0%R13%
if %slide14% lss 10 set slide14=0%R14%
if %slide15% lss 10 set slide15=0%R15%
if %slide16% lss 10 set slide16=0%R16%

echo %slide1% %slide2% %slide3% %slide4%
echo %slide5% %slide6% %slide7% %slide8%
echo %slide9% %slide10% %slide11% %slide12%
echo %slide13% %slide14% %slide15% %slide16%
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-09-17 16:22:32

有一个简单的解决方案,可以为数字0 ( 1 to 9 )获得一个带有前导9的两位数字。

代码语言:javascript
复制
@echo off
set "Number=1"

:Loop
set "TwoDigitNumber=0%Number%"
set "slide%Number%=%TwoDigitNumber:~-2%"
set /A Number+=1
if %Number% LSS 17 goto Loop

echo %slide1% %slide2% %slide3% %slide4%
echo %slide5% %slide6% %slide7% %slide8%
echo %slide9% %slide10% %slide11% %slide12%
echo %slide13% %slide14% %slide15% %slide16%

当前数字作为字符串分配给环境变量TwoDigitNumber,其前导0独立于数字值。

然后将TwoDigitNumber的最后两个字符作为字符串分配给目标环境变量。

带有错误消息的批处理(没有崩溃)的退出

目前预计不会有10点

很可能是由任何%slideX%扩展为空的行引起的,因为环境变量slideX根本没有定义,导致命令行无效:

代码语言:javascript
复制
if lss 10 set slide1=01

要了解所使用的命令及其工作方式,请打开命令提示符窗口,在那里执行以下命令,并非常仔细地读取为每个命令显示的所有帮助页。

  • echo /?
  • goto /?
  • if /?
  • set /?
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/46265917

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档