在批处理文件

时间:2018-05-07 16:57:26

标签: windows batch-file cmd

我需要在我的脚本可以使用它之前将用户输入从cmd转换为小写,所以我可以在If语句中使用它,但我不确切知道如何,我试图将输入与最常见的输入进行比较用户可能会写,但我想涵盖所有的可能性。

这是我到目前为止写的代码:

set colour=Default
echo Please choose one of the supported colours for the name(Red,Blue or 
Green)
       :WrongColour
   set /p colour=
                if %colour%== Red   (
                                 goto :SuportedColour
)          else if %colour%== red   (
                                     goto :SuportedColour
)          else if %colour%== RED   ( 
                                     goto :SuportedColour
)          else if %colour%== Blue  (
                                      goto :SuportedColour
)          else if %colour%== blue  (
                                      goto :SuportedColour
)          else if %colour%== BLUE  (
                                      goto :SuportedColour
)          else if %colour%== Green (
                                      goto :SuportedColour
)          else if %colour%== green (
                                      goto :SuportedColour
)          else if %colour%== GREEN (
                                      goto :SuportedColour
)

有没有更容易的方法将所有内容转换为小写,然后我可以与它进行比较,如果是的话,继续进入我的脚本的下一个阶段?

1 个答案:

答案 0 :(得分:1)

if /I swhich就是你想要的:

@echo off
set colour=Default
set /p "colour=Please choose one of the supported colours for the name(Red,Blue or Green)"
if  /i "%colour%" == "red" goto :SupportedColour
if  /i "%colour%" == "blue" goto :SupportedColour
if  /i "%colour%" == "green" goto :SupportedColour
echo %colour% is not supported..
goto :EOF
:SuportedColour
echo You chose a supported colour: %colour%

但是我看到你只有一个标签gotoSupportedColour所以我怀疑你只想使用一个标签,如果这些颜色中的任何颜色是输入的,那么for循环可能是一个更好的选择:

@echo off
set colour=Default
set "mycolours=blue red green"
set /p "colour=Please choose one of the supported colours for the name(Red,Blue or Green)"
for %%i in (%mycolours%) do if /i "%%i" == "%colour%" goto :SupportedColour
echo %colour% is not supported
goto :EOF
:SupportedColour
echo You chose a supported colour: %colour%

然而,你在这里也不需要goto,但我添加了它,因为我不确定你的其余代码是做什么的。