制作加载屏幕,但它说的全部是12345678910

时间:2014-02-13 10:53:01

标签: batch-file

所以我做了一个加载屏幕,但它不起作用,我无法弄明白代码:

@echo off
:start
set a=10
pause
set 1=_
set 2=_
set 3=_
set 4=_
set 5=_
set 6=_
set 7=_
set 8=_
set 9=_
set 10=_
:b
cls
echo %a%
if %a%==10 goto 1
if %a%==20 goto 2
if %a%==30 goto 3
if %a%==40 goto 4
if %a%==50 goto 5
if %a%==60 goto 6
if %a%==70 goto 7
if %a%==80 goto 8
if %a%==90 goto 9
if %a%==100 goto 10
:1
set 1=#
goto echo
:2
set 2=#
goto echo
:3
set 3=#
goto echo
:4
set 4=#
goto echo
:5
set 5=#
goto echo
:6
set 6=#
goto echo
:7
set 7=#
goto echo
:8
set 8=#
goto echo
:9
set 9=#
goto echo
:10
set 10=#
goto echo
:echo
echo %1% %2% %3% %4% %5% %6% %7% %8% %9% %10%
set /a a+=10
TIMEOUT 1 >null
cls
goto b

所以,如果有人想出来我非常感谢你的答案我只是不明白为什么它不会起作用....

谢谢:)

3 个答案:

答案 0 :(得分:2)

%n其中n是单个数字,由批处理解释为“批处理或过程的此参数编号”。

因此,echo %n%无法按预期工作。

此外,echo是一个关键字,因此标签的选择不佳。

该设备为nul,而不是null。您会发现已从此代码中创建了名为null的文件。

答案 1 :(得分:0)

好的我不太确定是什么问题,但如果你想要一个好看的继电器加载屏幕,请使用这个http://www.battoexeconverter.com/它允许你将你的bat文件编译成一个exe。但更重要的是它有一些高级命令,可以让你做一个很好的加载屏幕。安装时请参阅示例代码。它们位于顶部的标签中。

答案 2 :(得分:0)

如前所述,您的代码的主要问题是变量名称不能以数字开头,因为%digit-restOfName%将始终展开为%digit =批处理文件参数,后跟{{1 }}。不过,我想向您介绍其他一些观点:

  • 当重复几行代码只改变一个数值(或一系列任何给定的值)时,你可以“压缩”一行中的一行,-restOfName...命令将执行它每一个值。
  • 具有相同名称但变化数量(“下标”)的多个变量包含array,也可以通过for命令进行管理。
  • 您可以在批处理程序中的任何位置使用变量(或子字符串部分)的值,但标签除外。此功能可用于通过“技巧”编写更短的代码;例如:for

下面的批处理文件是根据这些想法修改的原始代码:

goto %labelVar%