我自己的批处理文件出错

时间:2013-07-04 06:21:23

标签: html file batch-file cmd

我在批处理文件中进行登录。你可以登录 它是我的大批量文件项目的一部分...... 但问题是,当我注册并登录它时,我给出了错误,如果有人登录错误,但我知道我的用户名和密码是正确的吗? 任何人都可以编辑我的批处理文件,然后它运行顺利,并解释为什么你做了更改,所以我明白出了什么问题? 这是代码。

@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 个答案:

答案 0 :(得分:1)

在你的:登录部分,检查%user%是否与“username.uf”相同,与密码相同

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

将此块替换为:

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

set /p要求输入,<file.tx t从文件中获取此请求的输入。 我在if命令中使用了",因为如果其中一个变量应为空,它会产生语法错误