是否可以禁用batch file中的命令历史logging?
在调用一个my.bat之后,调用SET /P
结果被推入历史logging。 所以,如果我要求我的用户input一个机器名称,历史现在也包含该机器名称。
病人:> my.bat
P:> SET / P MYENV =“myenv提示符:”
- Windows cygwin相当于Mac OS X打开命令
- 甚至在添加到PATH之后,python在Windows CMD中仍然无法识别
- 如何从命令行使用参数启动存储在UNC共享中的程序?
- 如何设置程序超时?
- 如何在DOS中做string比较条件?
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