批处理脚本帮助清除历史记录不发布cls

时间:2015-01-13 04:13:32

标签: windows batch-file cmd batch-processing

我当前的问题出在: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
    )

1 个答案:

答案 0 :(得分:1)

要清除历史记录,请使用

doskey /listsize=0

然后允许创建新历史记录(假设之前的大小为50):

doskey /listsize=50