CMD窗口大小

CMD窗口大小

每次我打开cmd时窗口大小都是20x5。问​​题是,即使默认设置设置为80x25,它也不会执行任何操作,每次打开cmd时都需要更改属性。

问题始于我的电脑被感染后,现在每次我打开窗口,登录后都会出现命令提示符,从那时起,所有其他打开的 cmd 窗口都是 20x5 大小。我检查了注册表,值是正确的,尽管它们没有生效。

答案1

NeveraX 提到的注册表项HKCU\Console并不是全部,用于启动 cmd.exe 的每个 .lnk 文件可能有不同的设置,不太容易发现。

对于 HKCU\Console,我曾经编写过一个批处理来枚举使用的窗口/缓冲区大小:

:: ConsoleSizes.cmd ::::::::::::::::::::::::::::::::::::::::::::::::::::
@echo off
:: Read: <https://blogs.msdn.microsoft.com/commandline/2017/06/20/understanding-windows-console-host-settings/>
setlocal
echo Window_X*Y_^|_Buffer_X*Y_^|_App-key_____________________________
for /F "tokens=1-2,*" %%A in (
  'reg query hkcu\console /s^|findstr "\ ScreenBufferS WindowS"'
) do (
    if "%%B" NEQ "REG_DWORD" (set "HKCUCon=%%A %%B %%C"&set "SBS="&SET "WS=")
    if "%%A" EQU "ScreenBufferSize" set "SBS=%%C"
    if "%%A" EQU "WindowSize" set "WS=%%C" & call :display
)
goto :eof
:display
set /A "WSW=WS&0xffff, WSH=WS>>16"
set "WSW=     %WSW%"&set "WSH=%WSH%     "
set /A "SBW=SBS&0xffff, SBH=SBS>>16"
set "SBW=     %SBW%"&set "SBH=%SBH%     "
set "HKCUCon=%HKCUCon:HKEY_CURRENT_USER=HKCU%"
echo/%WSW:~-5%*%WSH:~,5%^|%SBW:~-5%*%SBH:~,5% ^| %HKCUCon%
:: ConsoleSizes.cmd ::::::::::::::::::::::::::::::::::::::::::::::::::::

短路输出样例:

> ConsoleSizes.cmd
Window_X*Y_|_Buffer_X*Y_|_App-key_____________________________
   80*25   |   80*300   | HKCU\console
  130*50   |  130*9000  | HKCU\console\%SystemRoot%_system32_bash.exe
  120*60   |  120*9000  | HKCU\console\%SystemRoot%_system32_cmd.exe
  120*52   |  120*3000  | HKCU\console\%SystemRoot%_system32_diskpart.exe
  148*60   |  148*3000  | HKCU\console\%SystemRoot%_System32_WindowsPowerShell_v1.0_powershell.exe
  120*50   |  120*3000  | HKCU\console\%SystemRoot%_SysWOW64_WindowsPowerShell_v1.0_powershell.exe
  132*60   |  132*60    | HKCU\console\C:_Program Files_Far Manager_Far.exe
  221*98   |  221*98    | HKCU\console\C:_Program Files_Far_Far.exe
  132*50   |  132*50    | HKCU\console\C:_Sys_k.exe
  132*62   |  132*3000  | HKCU\console\FreeCommander - DOS

编辑我还会检查自动运行注册表项

Reg query "HKCU\Software\Microsoft\Command Processor" /v AutoRun

HKEY_CURRENT_USER\Software\Microsoft\Command Processor
    AutoRun    REG_SZ    Doskey /MacroFile="C:\Users\LotPings\Aliases.txt"

和/或使用由 sysinternals 自动运行

答案2

我知道这是死线,但这个解决方案将来可能会对某些人有所帮助。如果没有这个修复,GNU Octave 将无法正常工作。所以我花了几个小时在网上搜索,差点将 Windows 恢复为默认设置。

我通过应用包含注册表项“HKEY_CURRENT_USER\Console”和“HKEY_CURRENT_USER\Software\Microsoft\Command Processor”的默认值的注册表文件解决了此问题。

您可以在此处找到这些文件https://www.sevenforums.com/tutorials/401170-command-prompt-restore-default-personalization-settings.html

如果这没有帮助,本网站上还有一些针对 Windows 7、8、8.1、10 的其他解决方案。

相关内容