我当前的问题在:menua
标签之前。我需要清除所有以前键入的条目。我得到了这个工作,可以从历史记录中清除密码,但我希望从输入历史记录中清除所有内容。我知道您可以使用 ALT+F7 清除,但我希望自动完成此操作以清除用户名条目。那么历史就什么都没有了。...欢迎任何其他编辑/建议以使其更好,只需与修复程序分开即可。
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