2014-04-05 40 views
0

我已經找了一個答案,並沒有找到一個。批處理文件,如果聲明不與cmd一起工作

@echo off 
:a 
cls 
set /p %a% = 
if %a% == 1 goto b 
goto c 
:b 
echo. 
echo worked 
pause 
:C 
echo. 
echo dident work 
pause 

我設置了a = 1,並且說goto命令在這個時候是意外的。任何幫助將是巨大的

改變

確定它已經改變,出現了新的問題。現在當a = 1它總是進入到C非B

@echo off 
:a 
cls 
set /p a = 
if "%a%" == "1" goto b 
goto c 
:b 
echo. 
echo worked 
pause 
:C 
echo. 
echo wierd 
pause 
+0

有關說明,爲什麼你的代碼是失敗了,看看這個問題的答案:[聲明和使用DOS/Windows批處理文件(.bat)的變量(HTTP:/ /stackoverflow.com/q/10552812/1012053) – dbenham

+0

謝謝,幫助它現在運行 – Chris

回答

0
 
@echo off 
echo. 
set /p a= 
echo. 
if %a%==1 goto b 
if not %a%==1 goto c 
:b 
echo worked 
echo. 
pause 
exit 
:c 
echo dident work 
echo. 
pause 
exit 
0

變化這樣的:

set /p %a% = 

set /p a= 

if %a% == 1 goto b 

if "%a%" EQU "1" goto b 
+0

只是還說「此時意外」 – Chris

+0

@ user3502144檢查我的編輯 – npocmaka

0
@echo off&cls 
set /p a=Enter a number : 
if "%a%" EQU "1" goto:b 
echo dident work 
exit/b 

:b 
echo Result = 1