禁用Windowsbatch file中的命令历史logging

是否可以禁用batch file中的命令历史logging?

在调用一个my.bat之后,调用SET /P结果被推入历史logging。 所以,如果我要求我的用户input一个机器名称,历史现在也包含该机器名称。

病人:> my.bat

P:> SET / P MYENV =“myenv提示符:”

myenv提示符:lskdjf

病人:> lskdjf

病人:>

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

简短的回答

 doskey /reinstall 

这将擦除完整的历史记录。

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

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