2016-09-24 42 views
2

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

: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”无法识别。

任何帮助表示赞赏。由于

+0

'如果没有定义CIDE转到loop' – aschipfl

回答

4

你可以尝试这样的事情:

@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 
+0

感谢@Hackoo,这个工作。我尝试了相同的方法,但是结果与您写的内容不同,它给出了错误或退出。非常感谢的人! – susil95