2010-09-08 123 views
0

我一直在制定和执行一个批处理程序,使用户可以输入他的密码,就像那样,我似乎到了虚无,任何人都可以告诉我如何创建一个批处理程序,用户输入自己的密码?当日志是全成运行特定的程序,顺便说一句,我使用Windows XP SP2登录批处理程序

+0

可能的重复[什么是Windows的批量等效的HTML输入类型=“密码”?](http://stackoverflow.com/questions/286871/what-would-be-the-windows-batch-equivalent -for-htmls-input-typepassword) – Helen 2010-09-09 18:04:00

回答

0
set /p "PASSWORD=Enter your password: " 

我用引号这样我就可以显示在批处理文件尾部空间。否则,这是没有必要的;任何尾随空格都会回显到输出中。

set /?显示cmd.exe

+0

我想这只回答第一个问题。对于第二个,我不确定你将如何作为另一个用户“登录”。 – 2010-09-08 22:06:53

0

一些操纵变量的方法这里的东西为我的作品...

@echo off 

:loginPASS 
set /p password=Password: 
if %password% == qwerty goto loginsuccessful 
if %password% == %password% goto loginfailed 

:loginfailed 
echo Login failed, password was incorrect! 
pause 
cls 
goto login 

:loginsuccessful 
echo LOGIN SUCCESSFUL! 
cd <location of file (dont include its name) example: C: /Users/YOURUSERNAME/desktop> 
<type in file name here> 

,如果你想使一个用户名输入过,然后删除loginPASS节使一个新的名为loginUSER和类型在此:

:loginUSER 
set /p username=Username 
cls 
if %username% == Admin goto AdminLogin 
if %username% == Bob goto BobLogin 
if %username% == %username% goto NoUsername 

做出一个新的部分称为NOUSERNAME :No用户名 echo未找到用户,请再次检查您的用户名。 pause cls goto loginUSER 这会告诉用户他们是否输入了错误的用户名。之后为其中的一个用户创建一个新的区域并命名为 。 在这种情况下,您将其命名为AdminLogin。

然后重复loginPASS并为用户设置密码。

整个代码应该是这个样子:

关闭@echo

:AdminLogin 
set /p password=Password: 
if %password% == 158468 goto loginsuccessful 
if %password% == %password% goto loginfailed 

:loginfailedADMIN 
echo Login failed, password was incorrect! 
pause 
cls 
goto AdminLogin 

:loginsuccessfulADMIN 
echo LOGIN SUCCESSFUL! 
cd <location of file (dont include its name) example: C: /Users/YOURUSERNAME/desktop> 
<type in file name here> 
pause 
exit 

你将要作出独立的登录段为每个用户。 希望这有助于!

P.S可能还有其他方法,但这是我使用的。