因為自製了一些批次檔,偶爾需要輸入密碼的時候,批次檔並不能處理密碼,所以輸入的時候會變成明文輸入。找了半天才有一個比較可以接受的方式,有需要的人可以參考看看。
@echo off cls echo 請在跳出視窗內輸入使用者名稱及密碼 If not exist %0 goto ERROR type %0 | find " " | find /v "Not Me!" > %TEMP%\UserIn.hta start /w %TEMP%\UserIn.hta call %TEMP%\UserIn.bat echo Your user name is %USERNAME% echo Your password is %PASSWORD% :: Clean up del %TEMP%\UserIn.hta del %TEMP%\UserIn.bat goto DONE :ERROR cls echo %0 is not the full path and file name echo for the batch file. You MUST call this echo batch file with a full path and file name. goto DONE :HTA :: All HTA code MUST be indented four or more spaces. <html> <head> <title>Password Entry</title> <hta:application> <script language="vbscript"> window.resizeTo 250,200 Sub SaveBatch() Set fs = CreateObject("Scripting.FileSystemObject") strFile = fs.GetAbsolutePathName(fs.BuildPath(fs.GetSpecialFolder(2), "UserIn.bat")) Set ts = fs.OpenTextFile(strFile, 2, True) ts.WriteLine "SET USERNAME=" & document.Forms(0).elements("username").value ts.WriteLine "SET PASSWORD=" & document.Forms(0).elements("password").value ts.Close End Sub </script> </head> <body> <form> <br>使用者名稱: <br><input type=text name=username tabindex=1> <br>密碼: <br><input type=password name=password tabindex=2> <br><input type=button language="vbscript" value="OK" onclick="SaveBatch : Window.Close"> </form> <script language=vbscript> document.Forms(0).elements("username").focus </script> </body> </html> :DONE
來源:
Enter username , password in form using batch file / Hide password batch file
http://j4info.blogspot.com/2013/07/enter-username-password-in-form-using.html