禁用Windows批处理文件中的命令历史记录

时间:2012-03-15 13:31:17

标签: windows command-line batch-file cmd

是否可以在批处理文件中禁用命令历史记录?

调用my.bat后,调用SET /P等内容的结果会被推送到历史记录中。因此,如果我要求我的用户输入机器名称,则历史记录现在也包含该机器名称。

  

,P:> my.bat

     

P:> SET / P MYENV =“myenv prompt:”

     

myenv提示:lskdjf

     

,P:> lskdjf

     

,P:>

DOSKEY似乎没有办法暂停或禁用推入历史堆栈。

2 个答案:

答案 0 :(得分:10)

简短回答

doskey /reinstall

这抹去了完整的历史。

第二种方法也可以在批处理中启动新的cmd.exe实例,这只会删除您的set/p语句所做的历史记录。

@echo off
if "%~1"==":historySafe" goto :historySafe
cmd /c "%~f0" :historySafe
exit /b

:historySafe
set /p var=Password
echo %var%
exit /b

答案 1 :(得分:1)

在Windows命令行中,按 F7 键以查看在该窗口中输入的所有命令的历史记录。下面是打开时Windows命令行历史记录框外观的图片。

enter image description here