¿Hay alguna manera de mantener el historial de comandos de cmd entre sesiones?
¿Hay alguna manera de mantener el historial de comandos de cmd entre sesiones?
Respuestas:
Cambie a usar PowerShell y siga las instrucciones en el siguiente sitio para habilitar el historial:
Alternativamente, en cmd.exe, puede usar "doskey / history" al final de su sesión para mostrar lo que escribió en esa sesión, pero no hay forma de cargarlo realmente en la próxima sesión.
He encontrado 2 formas, ninguna de las cuales requiere cambiar a PowerShell.
cmd.exepero es una buena respuesta, y clink también admite un modo de inyección.
cmdcon él, no ha habido problemas, muy feliz con él.
Guardar el historial es un pequeño flujo de trabajo: aquí hay una forma menos "pesada" de hacer esto (sin libs externas).
Cree un archivo bat / cmd para configurar su historial, en este caso lo llamé MyEnvironment.cmd:
doskey save=doskey /history $g$g C:\CmdHistory.log
doskey quit=doskey /history $g$g C:\CmdHistory.log $T exit
doskey history=find /I "$*" C:\CmdHistory.log
cls
Luego ejecute esto desde "Inicio-> Ejecutar" (también puede configurar un alias para esto también):
cmd.exe /K C:\MyEnvironment.cmd
Cada vez que cierro una sesión, presiono "salir", o si tengo miedo de perder el historial a mitad de la sesión, presiono "guardar". Si quiero buscar algo en la historia, simplemente presiono "PALABRA CLAVE de la historia".
Según el comentario de @ dave_thompson_085, la AutoRunfunción funciona bien si no desea utilizar el /Kinterruptor. Si configura la clave del Registro correctamente, .cmdo .batno necesita estar en %AppData%, puede estar en la misma ubicación que ya está.
Si utiliza la %AppData%ubicación, tenga en cuenta que cmd probablemente buscará su archivo por lotes en la carpeta "Roaming" (en lugar de la raíz de AppData).
Más información sobre la AutoRunfunción CMD: https://superuser.com/a/302553/333316
$ginserta un >, y $tes un separador de comandos.
>y &&caracteres directamente en el alias de doskey?
doskey quit=doskey /historyy guarde la salida de la creación de macro en un archivo de registro (ya sea nada o un mensaje de error); luego cierre la ventana (descartando todo). -Puedes escapar de esos personajes con un ^lugar, creo. Me gusta ^>^>y ^&(... y sí, solo necesitas un ampersand)