2016-09-24 248 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