我目前的问题是在:menua
标签之前。 我需要input的所有以前的条目被清除。 我得到这个工作来清除历史密码,但我希望从input历史清除一切。 我知道你可以清除使用ALT + F7,但我想这样做自动清除用户名input。 那么历史就什么都没有了。 …任何其他编辑/build议,使这个更好,只是保持独立的修复。
set /p loginname
是我想要的。
:login call :ColorText 0c " Type owner to find the owners contact info." echo. echo. call :ColorText 0c " Username" echo. <nul SET /P loginname= if "%loginname%"=="owner" goto :owner :L5 call :ColorText 0c " Password" echo. <nul :HInput SetLocal DisableDelayedExpansion Set "password=" Rem Save 0x08 character in BS variable For /F %%# In ( '"Prompt;$H&For %%# in (1) Do Rem"' ) Do Set "BS=%%#" :HILoop Set "Key=" For /F "delims=" %%# In ( 'Xcopy /L /W "%~f0" "%~f0" 2^>Nul' ) Do If Not Defined Key Set "Key=%%#" Set "Key=%Key:~-1%" SetLocal EnableDelayedExpansion If Not Defined Key Goto :HIEnd If %BS%==^%Key% (Set /P "=%BS% %BS%" <Nul Set "Key=" If Defined password Set "password=!password:~0,-1!" ) Else Set /P "=*" <Nul If Not Defined password (EndLocal &Set "password=%Key%" ) Else For /F delims^=^ eol^= %%# In ( "!password!") Do EndLocal &Set "password=%%#%Key%" Goto :HILoop :HIEnd <nul Echo( <nul Echo Your password is '!password!' <nul Pause <nul Goto :pass :pass if "%loginname%"=="username" ( goto :password1 ) else ( cls goto :login )
要清除历史记录,请使用
doskey /listsize=0
然后允许创建一个新的历史记录(假设以前的大小是50):
doskey /listsize=50