我试图编写一个批处理脚本以获取变量中的字符串,并检查它是否为空,如果它为空,则将其定向到循环。下面的代码代表了问题

:loop
set /p cide=
IF NOT "a%1"=="a" (set cide="%1")
IF [%1]==[] goto loop
ELSE
echo IDE entered
TIMEOUT 5 > NUL

即使我给出了一个字符串,该程序也开始再次循环。

我尝试将IF [%cide%]==[] goto loopIF %cide%==[] goto loop放入,但出现错误,指出“ELSE”无法识别。

任何帮助表示赞赏。谢谢

最佳答案

您可以尝试这样的事情:

@echo off
:loop
cls & Color 0A
echo Type what you want !
set /p "cide="
IF "%cide%"=="" (
    Cls & Color 0C
    echo You must enter something
    Timeout /T 2 /NoBreak>nul
    goto loop
) ELSE (
    Goto Next
)

:Next
Cls
echo %cide% is entered
pause

10-07 19:10