批处理文件IF语句修复

时间:2016-04-06 21:42:08

标签: batch-file cmd

我的代码不起作用:

@echo off
color 0a

:Generation
 set /a number=%random% %% 26-1

 if %number% == 1 (
 echo a
 )
 if %number% == 2 (
 echo b
)
if %number% == 3 (
echo c
)

它以相同的格式重复,直到26 = z。 当我运行该文件时,它将无法正常工作, 怎么来的?

1 个答案:

答案 0 :(得分:0)

它对我有用,但如果你希望number在[1..26]的范围内,那么

set /a number=%random% %% 26-1

应该是

set /a number=%random% %% 26+1

我的测试看起来像这样

@echo off
:Generation
set /a number=%random% %% 2

echo %number% 

if %number% == 0 (
echo a
)
if %number% == 1 (
echo b
)

和输出看起来像这样

C:\tmp>junk.bat
0
a

C:\tmp>junk.bat
1
b

C:\tmp>junk.bat
0
a