Existe uma maneira de manter o histórico de comandos do cmd entre as sessões?
windows
command-line
firefusion
fonte
fonte
Encontrei duas maneiras, nenhuma das quais exige a mudança para o PowerShell.
Instale o Clink , que aprimora
cmd.exe
com histórico persistente e muito mais. Basta instalar e abrircmd
normalmente.Instale a versão gratuita do TCC / LE , que é um programa separado, fornecendo novamente uma versão aprimorada do
cmd.exe
.fonte
cmd.exe
mas é uma boa resposta, e o clink também suporta um modo de injeção.cmd
por ele, não houve problemas, muito feliz com ele.Salvar histórico é um pequeno fluxo de trabalho - eis uma maneira menos "pesada" de fazer isso (sem bibliotecas externas).
Crie um arquivo bat / cmd para configurar seu histórico, neste caso, chamei de MyEnvironment.cmd:
Em seguida, execute isso em "Iniciar-> Executar" (você também pode configurar um alias para isso):
Toda vez que fecho uma sessão, clico em "sair" - ou, se tenho medo de perder o histórico no meio da sessão, clico em "salvar". Se eu quero grep para algo na história, eu apenas clico em "history KEYWORD".
Pelo comentário de @ dave_thompson_085, o
AutoRun
recurso funcionará bem se você não quiser usar o/K
switch. Se você configurou a chave do Registro corretamente,.cmd
ou.bat
não precisa estar%AppData%
, ela pode estar no mesmo local que já está.Se você usar o
%AppData%
local, saiba que o cmd provavelmente procurará seu arquivo em lotes na pasta "Roaming" (em vez da raiz do AppData).Mais informações sobre o
AutoRun
recurso CMD: https://superuser.com/a/302553/333316fonte
$g
e$t
para quê?$g
insere um>
, e$t
é um separador de comando.>
e&&
personagens diretamente no alias doskey?doskey quit=doskey /history
e salve a saída da criação da macro em um arquivo de log (nada ou uma mensagem de erro); próximo feche a janela (descartando tudo). -Você poderia escapar desses personagens com um em^
vez disso, eu acho. Como^>^>
e^&
(... e sim, você só precisa de um comercial)/k
pode usarAutoRun
superuser.com/a/302553/333316Eu uso o cygwin . Ele também fornece outras funcionalidades que o Linux possui, mas o Windows não.
fonte