是否可以在批处理文件中禁用命令历史记录?
调用my.bat后,调用SET /P
等内容的结果会被推送到历史记录中。因此,如果我要求我的用户输入机器名称,则历史记录现在也包含该机器名称。
,P:> my.bat
P:> SET / P MYENV =“myenv prompt:”
myenv提示:lskdjf
,P:> lskdjf
,P:>
DOSKEY似乎没有办法暂停或禁用推入历史堆栈。
答案 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)