2013-07-04 3 views
0

Im 배치 파일에 로그인하고 있습니다. 당신이 로그인 할 수 있습니다. 내 큰 배치 파일 프로젝트의 일부 ... 하지만 문제는 내가 등록하고 내가 로그인하면 나에게 오류가 발생합니다. 누군가가 잘못 기록하지만 내 사용자 이름과 비밀번호가 맞다는 것을 알고 있습니까? 누구든지 내 배치 파일을 편집 할 수 있습니다. 그러면 원활하게 실행되며 변경 내용이 왜 잘못되었는지 이해하는 이유를 설명 할 수 있습니까? 코드가 있습니다. 당신의내 배치 파일에 오류가 있습니다.

@echo off 
title LOG IN SCREEN v1.0 
color 0a 
if EXIST username.uf (
if EXIST password.uf (
goto Login 
)) else (goto Reg) 

:Reg 
cls 
echo Welcome to Register! 
ping localhost 2 >nul 
echo Register to continue 
set /p U=Username: 
set /p P=Password: 
echo %U%>username.uf 
echo %P%>password.uf 
echo REGISTRATION COMPLETE! 
pause 
goto Login 

:Login 
cls 
echo Welcome, Please Login to continue 
set /p user=Username: 
set /p pass=Password: 
if %user%==username.uf (
if %pass%==username.uf (
goto welcome 
)) else (goto error) 

:welcome 
cls 
echo Welcome to the Test Program! 
ping localhost -n 2 >nul 
echo Please Exit and come back when you think 
echo Program is up! 
pause 
exit 

:error 
cls 
echo Error. Input Value = Incorrect 
echo Error Code = .txt =/ u/p 
ping localhost -n 2 >nul 
echo Type goback to go back to previous screen 
set /p er= 
if %er%==goback goto Login 
if not %er%==goback goto error 
+1

이 PowerShell을 알아 비어 있어야 경우 나는의 경우 명령에서 "을 사용했다. 또는 VBScript. 또는 Perl 또는 C# 또는 VB.Net. * ANYTHNG *하지만 .bat 파일은 2 ~ 3 줄보다 복잡합니다. IMHO ... – paulsm4

+0

나는 @ paulsm4에 동의합니다. 가장 편안한 것은 아니지만 질문은 무효화되지 않습니다. 질문을 향상 시키려면 코드의 목표를 명확하게하십시오. 좋은 질문은 명확한 목표/결과, 일부 코드 및 알려진 문제점을 포함합니다. 당신이 할 수있는 것처럼 그 요소를 명확하게하십시오; 머리말을 사용하고, 간결하게하십시오. 그렇게하면 더 귀중한 관심을 끌게 될 것입니다. –

답변

1

:

set /p us=<username.uf 
set /p pa=<password.uf 
if "%user%"=="%us%" (
if "%pass%"=="%pa%" (
goto welcome 
)) else (goto error) 

set /p 묻는 % 사용자 %가 "username.uf는"암호

if %user%==username.uf (
if %pass%==username.uf (
goto welcome 
)) else (goto error) 

와 동일하기에이 블록을 교체하는 동일한 경우 로그인 섹션 확인 입력의 경우 <file.tx t는 파일에서이 요청 된 입력을받습니다. 이 구문 오류를 줄 것이기 때문에 변수 중 하나가

관련 문제