2010-09-08 149 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可能還有其他方法,但這是我使用的。