Deaktiver kommandohistorik i en Windows-batchfil

Indlæg af Hanne Mølgaard Plasc

Problem



Er det muligt at deaktivere kommandop History i en batchfil?


Efter at have ringet til et my.bat, bliver resultaterne fra opkald til ting som SET /P skubbet ind i historien. Så hvis jeg beder min bruger om at indtaste et maskind navn, indeholder historien nu også dette maskinnavn.



  P:> my.bat

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

  
  myenv prompt: lskdjf

  
  P:> lskdjf

  
  P:>



DOSKEY synes ikke at have en måde at suspendere eller deaktivere ved at trykke på historikstakken.

Bedste reference


Kort svar


doskey /reinstall


Dette sletter hele historien.


En anden måde kan også starte en ny cmd.exe-forekomst i din batch, dette ville kun fjerne historien fra dine set/p udsagn.


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

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