如何创建带有中断循环的批处理文件?目前我有一个具有矩阵感觉的文件,它可以执行此操作...
:start
echo %random%%random%%random%%random%
goto start
但我也想让屏幕clr
显示一堆感叹号,有点像错误类型的处理,例如
:start
echo !!!!!!!!!!...etc
goto start
但是我怎样才能制作出这样的中断循环呢?
..请注意,我对批处理还有些陌生,因此,如果能在每一行的解释区域进行一些特殊处理,我将不胜感激。谢谢 :)..
答案1
您的问题有些不清楚,但我假设您希望程序在随机时间显示错误。为此,您可以使用随机数生成器。
set /a rndm=%random% * 10 / 32768 + 1
此代码将创建一个名为“rndm”的变量(不必命名为 rndm,您可以随意命名),它是 1 到 10 之间的随机数。如果您想要更大或更小的可能数字池,您可以将代码中的 10 更改为您想要的任何数字。因此,如果您想要一个 1 到 3 之间的随机数,您可以这样做:
set /a rndm=%random% * 3 /32768 + 1
你可以使用它来生成错误发生的随机概率。如果你希望有十分之一的概率退出循环、清除屏幕并进入另一个循环,那么你的代码应该如下所示:
@echo off :start echo %random%%random%%random%%random% set /a rndm=%random% * 10 / 32768 + 1 if %rndm% == 1 goto errorstart goto start
:errorstart cls :error echo !!!!!!!!!!!! goto error
在循环执行过程中,程序会生成一个介于 1 和 10 之间的随机数。之后,程序会检查生成的数字是否为 1。如果不是 1,则继续循环。如果是,则跳转到“errorstart”标签。errorstart 标签下方的命令会清除屏幕。然后程序进入错误循环,并不断回显感叹号,直到程序关闭。
此代码应该能产生您想要的效果,但对于运行速度如此之快的程序来说,十分之一的概率有点太高了,因此您可能需要将其更改为千分之一或万分之一。这应该会使初始循环在二次循环启动之前持续更长时间。