귀하의 질문은 다소 불분명하지만 프로그램이 임의의 시간에 오류를 표시하기를 원한다고 가정합니다. 이를 위해 난수 생성기를 사용할 수 있습니다.
set /a rndm=%random% * 10 / 32768 + 1
이 코드는 "rndm"이라는 변수를 생성합니다 (rndm이라고 할 필요는 없습니다. 원하는대로 이름을 지정할 수 있습니다). 1과 10 사이의 임의의 숫자입니다. 가능한 더 크거나 작은 풀을 원할 경우 숫자의 경우 코드의 10을 원하는대로 변경할 수 있습니다. 따라서 1에서 3 사이의 임의의 숫자를 원하면 다음과 같이하십시오.
set /a rndm=%random% * 3 /32768 + 1
이를 사용하여 임의의 오류가 발생할 가능성이 있습니다. 1/10의 루프를 종료하고 화면을 지우고 다른 루프를 입력하려는 경우 코드는 다음과 같습니다.
@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 레이블 아래의 명령은 화면을 지 웁니다. 그런 다음 프로그램은 오류 루프에 들어가 프로그램이 닫힐 때까지 느낌표를 표시합니다.
이 코드를 사용하면 원하는 효과를 얻을 수 있지만 10 분의 1은 프로그램이 빠르게 작동 할 가능성이 너무 높으므로 1000에서 1로 또는 10.000에서 1로 변경할 수 있습니다. 그러면 보조 루프가 시작되기 전에 초기 루프가 더 오래 지속됩니다.