This registry key is
HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\RunMRU
So to cleanup command history we can simply run the below command from command prompt.
Note that after running the above command you would still be able to see history for the current login session. Once you logoff and login back you won't be able to see the history.
A few days ago when I looking throught the net articles, i saw a good boy wrote a VBS tool that can clear the regedit nodes, it really easy to use:
'Run历史记录清理工具 愚人陈 2010/3/21 5:47
'
'left命令
'reg相关命令
'Err.Clear
'Input false
'-----------------------------------------------------------------------
Set r=CreateObject("WScript.Shell")
Dim a(30),List,Key
Key = "HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\RunMRU\"
Do
read()
Loop Until delete()=false
Function read()
List=""
For i=1 To 26
KeyName=Chr(96+i)
On Error Resume Next
RunMRU=r.RegRead (Key&KeyName)
a(i)=RunMRU
RunMRU=Left(RunMRU,Len(RunMRU)-2) '剪掉每个键值后面附加的/1
If Err.Number=0 Then
List=List&KeyName&" "&RunMRU&Chr(10)
End If
Next
End Function
'MsgBox list
Function delete()
b=InputBox(List&"请输入要删除的项编号,例如abc","Run历史记录清理工具")
delete=b
i=1
MRUList=r.RegRead (key&"MRUList")
Do Until Mid(b,i,1)=""
KeyName = Mid(b,i,1)
'MsgBox KeyName
On Error Resume Next
MRU=Split(MRUList,CStr(KeyName),-1)
Err.Clear
MRUList=MRU(0)&MRU(1)
If Err.Number<>0 Then
MsgBox Cstr(Err.Number)&Err.Description&Chr(10)&"这可能是输入错误造成的"
Err.Clear
End If
'MsgBox MRUList
r.Regdelete (key&KeyName)
If Err.Number<>0 Then
MsgBox "Error #"&CStr(Err.Number)&" "&Err.Description&"可能此项不存在"
Err.Clear
End If
r.RegWrite Key&"MRUList",MRUList
i=i+1
loop
End Function