我已经知道如何修改个人资料中的窗口设置,但更改会在窗口显示后生效,因此会出现默认设置的第二个时间。
我也想通过命令行来做这个,所以我只需要运行一个windows"初始化脚本"在全新安装并永久生效...因此,使用左上角的GUI也是不可接受的。
答案 0 :(得分:1)
Default/Default User
HKCU\Console
和子项HKEY_CURRENT_USER\console\%SystemRoot%_System32_WindowsPowerShell_v1.0_powershell.exe
HKEY_CURRENT_USER\console\%SystemRoot%_SysWOW64_WindowsPowerShell_v1.0_powershell.exe
除此之外,PowerShell的任何快捷方式文件也可以存储这些设置。
要查看在Cmd窗口中运行的当前设置:
reg query hkcu\console
在PowerShell中运行:
gci hkcu:Console|where Name -like '*powershell*'|ft -auto
ScreenBufferSize和WindowSize是32位值(REG_DWORD
),由16位高度+ 16位宽度值组成。
我写了这批来解码尺寸:
:: ConsoleSizes.cmd ::::::::::::::::::::::::::::::::::::::::::::::::::::
@echo off
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%
缩短样本输出:
Window_X*Y_|_Buffer_X*Y_|_App-key_____________________________
80*25 | 0*0 | HKCU\console
132*60 | 132*3000 | HKCU\console\%SystemRoot%_System32_cmd.exe
120*50 | 120*3000 | HKCU\console\%SystemRoot%_system32_diskpart.exe
120*50 | 120*300 | HKCU\console\%SystemRoot%_system32_help.exe
120*50 | 120*3000 | HKCU\console\%SystemRoot%_System32_WindowsPowerShell_v1.0_powershell.exe
120*50 | 120*3000 | HKCU\console\%SystemRoot%_SysWOW64_WindowsPowerShell_v1.0_powershell.exe
120*50 | 120*3050 | HKCU\console\Bitvise ansi terminal
132*50 | 132*350 | HKCU\console\Bitvise bvterm terminal
120*50 | 120*3050 | HKCU\console\Bitvise xterm terminal
132*50 | 132*50 | HKCU\console\C:_Program Files (x86)_Far_Far.exe
120*50 | 120*50 | HKCU\console\C:_Program Files (x86)_Kinesics_Text_Editor_x64_k.exe
252*98 | 252*98 | HKCU\console\C:_Program Files_Far_Far.exe
所以简短的回答是:在默认用户注册表配置单元中编辑控制台。
此外,以PowerShell为目标的快捷方式文件会存储自己的ScreenBufferSize / WindowSize值。