【问题标题】:Error in my own batch file我自己的批处理文件出错
【发布时间】:2013-07-04 06:21:23
【问题描述】:

我正在制作一个登录批处理文件。您可以登录。 它是我的大批处理文件项目的一部分...... 但问题是当我注册并登录时它会给我我犯的错误,以防有人登录错误但我知道我的用户名和密码是正确的? 任何人都可以编辑我的批处理文件,使其顺利运行,并解释您为什么进行更改,以便我了解出了什么问题? 这是代码。

@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

【问题讨论】:

  • 学习 Powershell。或 VBScript。或 Perl、C# 或 VB.Net。 ANYTHNG 而是一个 .bat 文件,用于比两三行更复杂的任何内容。恕我直言...
  • 我同意@paulsm4 的观点,即 .bat 不是最舒服的,但这并不会使问题无效。为了改进您的问题,请尝试使您的代码目标更清晰。一个好的问题包含明确的目标/结果、一些代码和已知问题。使这些元素尽可能清晰;使用标题,简洁。这样你会吸引更多有价值的关注。

标签: html file batch-file cmd


【解决方案1】:

在您的 :login 部分中,您检查 %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 请求输入,&lt;file.txt 从文件中获取这个请求的输入。 我在 if 命令中使用了",因为如果其中一个变量应该为空,它会给出语法错误

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-02-06
    • 2010-11-12
    • 1970-01-01
    • 1970-01-01
    • 2017-10-26
    • 2022-01-05
    • 2018-04-21
    • 2018-01-14
    相关资源
    最近更新 更多