Não há uma maneira predefinida de obter o histórico do console, mas você pode usar o utilitário doskey. Ele também irá lidar com aliases. Se pode ser invocado em cada início de um shell cmd via Autorun do Registro, você pode pressionar [F7] para obter uma pequena janela rolável com o histórico para escolher uma entrada para copiar para o console. Para obter o histórico completo (dessa chamada cmd.exe), você pode redirecionar a saída de doskey /history
para um arquivo ou a área de transferência doskey /history|clip
.
Editar Btw, em lançamentos recentes do Win10 você pode verificar Enable Ctrlkey shortcuts
na aba de opções do diálogo de propriedades cmd.exe para obter Ctrl-A, X, C, V funcionando e eu adoro isso . / Editar
Isso faz parte do meu init.cmd, que eu executo em cada nova instalação do pc / os. Ele armazena um arquivo Aliases.txt
no %UserProfile%
, instala a chave do Autorun e várias outras coisas que você pode usar como modelo (auto eleva para algumas alterações):
:: Init.cmd::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
@echo off & setlocal EnableExtensions DisableDelayedExpansion
net file 1>nul 2>&1 || (powershell -ex unrestricted -Command ^
"Start-Process -Verb RunAs -FilePath '%comspec%' -ArgumentList '/c %~f0 %*'"
goto :eof)
:: TODO: Put code here that needs elevation
Set Aliases="%UserProfile%\Aliases.txt"
If Not Exist %Aliases% (
Echo ~+=PushD "%UserProfile%"
Echo ~=CD /D "%UserProfile%"
Echo \+=PushD \
Echo \=CD \
Echo -+=PushD ..
Echo -=CD ..
Echo +=PopD
Echo CDD=CD /D $*
Echo X=Exit /b 0
Echo clear=cls
Echo Alias=Doskey $*
Echo Aliases=Doskey /MACROS:ALL
Echo mc=far
)>%Aliases%
Doskey /Macrofile=%Aliases%
Set "Key=HKCU\Software\Microsoft\Command Processor"
Reg ADD "%Key%" /f /v AutoRun /t REG_SZ /d "Doskey /MacroFile=\"%Aliases:"=%\""
Reg Add "%Key%" /f /v CompletionChar /t REG_DWORD /d 0x9
Reg Add "%Key%" /f /v PathCompletionChar /t REG_DWORD /d 0x9
Reg Add "%Key%" /f /v DelayedExpansion /t REG_DWORD /d 0x1
Reg Add "%Key%" /f /v EnableExtensions /t REG_DWORD /d 0x1
Set "Key=HKCU\Control Panel\International"
Reg Add "%Key%" /f /v sShortDate /t REG_SZ /d yyyy-MM-dd
Set "Key=HKCU\Control Panel\Desktop"
Reg Add "%Key%" /f /v PaintDesktopVersion /t REG_DWORD /d 0x1
Reg Add "%Key%" /f /v MenuShowDelay /t REG_SZ /d 50
Set "Key=HKEY_USERS\.Default\Control Panel\International"
Reg Add "%Key%" /f /v sShortDate /t REG_SZ /d yyyy-MM-dd
:: Keep Net Use Drives in UAC Mode
Set "Key=HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System"
Reg Add "%Key%" /f /v EnableLinkedConnections /t REG_DWORD /d 0x1
:: Sort Dirs first orde by name
if not defined DirCMD (Setx /m DirCMD /OGN 1>NUL)
:: Have the prompt on two lines with ansi colour (req. an actual Windows 10)
:: 19:57:10 \TMDat1\Daten +Q:\Test16-11__________________________...
:: >
(Setx Prompt "$E[92m$t$h$h$h $m$+$p________________________________________$_$g $E[0m" 1>NUL)
:: RefrweshEnv is a too from Chocolatey which does what the name says.
RefreshEnv 2>NUL