Отключить историю команд в командном файле Windows - PullRequest
5 голосов
/ 15 марта 2012

Можно ли отключить историю команд в пакетном файле?

После вызова my.bat результаты вызовов таких вещей, как SET /P, помещаются в историю.Поэтому, если я попрошу моего пользователя ввести имя компьютера, история также будет содержать имя этого компьютера.

P:> my.bat

P:> SET / P MYENV ="myenv prompt:"

myenv prompt: lskdjf

P:> lskdjf

P:>

У DOSKEY, похоже, нетспособ приостановить или отключить добавление в стек истории.

1 Ответ

10 голосов
/ 15 марта 2012

Краткий ответ

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
...