2014-09-06 3 views
-1

소프트웨어에서 등록 할 수있는 프로그램을 만들고 있습니다. 나는 많은 명령을 시도했지만 아무도 내가 원하는 것을하지 않는다. 나는 단지 사용자의 예를 만들고있어 아래의 예에서 :텍스트를 인쇄하여 변수로 설정하십시오. BATCH

:REGISTER  
set/p USR=Set your new user:  
echo.>"USER.txt"  
break>"USER.txt"  
@echo %USR% > USER.txt  
:LOGIN 
set/p LOGUSER=Enter your user: 

[내가 USER.TXT에서 텍스트 %의 LOGUSER의 %를 비교할] -> 다음 고토 OK.

감사합니다.

추신 : 내 맞춤법 실수에 대해 실례합니다!

+0

왜 공백을 user.txt로 에코하고 그 내용을 모두 삭제합니까? – npocmaka

답변

0

당신의 user.txt는 한 줄 (코드가 세 번 덮어 쓰기)가 포함되어있는 경우, 그것은 매우 간단합니다

set /p textuser=<USER.txt 
if /i "%loguser%"=="%textuser%" goto ok 

PS :

@echo %USR% > USER.txt 

출력에 의도하지 않은 공간을 씁니다 비교가 어렵습니다. 더 나은 글 :

@echo %USR%>USER.txt 
0
:REGISTER 
@echo off 
set/p USR=Set your new user: 

echo.>"USER.txt" 

break>"USER.txt" 

@echo %USR%>USER.txt 

:LOGIN 

set/p LOGUSER=Enter your user: 

:::: -- HERE'S THE MAIN THING -- :::: 
<"USER.txt" set /p line= 
if "%line%" EQU "%LOGUSER%" goto :OK 
:::::::::::::::::::::::::::::::::::::::: 

echo not ok 
exit /b 1 
:ok 
echo ok 
관련 문제