2015-12-24 20 views
0

我有一個批量局域網聊天室我正在和用戶部分工作正常,但我的管理員與編輯聊天日誌的選項打破它。是不是預計批量錯誤

當輸入文字聊天時,我得到wordhere這個時候沒有預料到。它與我管理的if線有關。

我該如何解決這個問題,這是我的代碼。我需要能夠輸入任何內容並將其發送到字典文件以進行顯示,但是如果輸入EQU術語,請執行其操作。

:A 
cls 
echo. 
echo Type What You Want To Chat // Press The "e" Key To Logoff Correctly 
echo Type "manage" To Manage The Chat History 
echo. 
set /p text= 
if %text% EQU e goto exiting 
if %text% EQU E goto exiting 
if %text% EQU manage goto managing 
if %text% EQU Manage goto managing 
echo. 
echo >> Directory.txt [Admin] %name% says: %text% 
echo. 
goto :A 

沒有if行的完全相同的代碼工作正常,但我需要它們。

說我鍵入:這是測試文本,它將在錯誤: 這裏是一個畫面: error example

固定! (如果「%text%」EQU「e」goto退出)修復它,謝謝。

回答

0
if "%text%" EQU "e" goto exiting 

等是標準的修復。

if語法特定:如果

引號指定,有一個字符串,可能包含類似空格分隔符。

BTW,if /i ...將使比較不區分大小寫。

另一種方法是

if not defined var ... 
+0

謝謝你,解決它,我不能相信我忘了「」有些事情沒有他們的工作。 – Twml

+0

@TaylorLightfoot,是的,只要'%text%'不爲空,它就可以不使用'「」';只要它是空的,你就沒有什麼東西與(如果EQUe')相比較,這會引發語法錯誤;使用引號,你實際上將''「'與''e」'進行比較; ''「''也有一些有害字符不會損害代碼的優點,例如用於連接多個命令的'&'...... – aschipfl

+0

在這種情況下,甚至一個空格是一個」有毒字符「。 – Stephan