不好意思,现在才看到兄的回复。公式的确错了,应该是:- set /a FontWidth=8, FontHeight=16
- set /a FontSize=(FontHeight "<<" 16) "|" FontWidth
复制代码 另外测试不必补零也可以啊~
是否在读取宽/高的时候写错了,测试代码:
设置.bat- @echo Off & setlocal EnableDelayedExpansion
- Set /a FontWidth=8, FontHeight=16
- Set /a FontSize=(FontHeight "<<" 16) "|" FontWidth
-
- Call :Dec2Hex %FontSize% iFontSize
- Echo 0x%iFontSize%
- Reg Add hkcu\console /v FontSize /t reg_dword /d 0x%iFontSize%
- Pause>nul & Exit /b
-
-
-
- :Dec2Hex
- set num=%1
- set str=0123456789ABCDEF
- set numDiv=%num%
- set numConn=
- :LoopD2H
- set /a numMod=numDiv%%16
- set numMod=!str:~%numMod%,1!
- set /a numDiv/=16
- set numConn=%numMod%%numConn%
- if %numDiv% equ 0 (
- set %2=%numConn%
- goto :eof
- )
- goto :LoopD2H
复制代码 读取.bat- @echo Off
- For /f "skip=4 tokens=3" %%a in ('reg query hkcu\console\ /v FontSize') do set /a FontSize=%%a
-
- Set /a FontHeight=FontSize ">>" 16, FontWidth=FontSize "&" 0xffff
- Echo FontWidth: %FontWidth% FontHeight: %FontHeight%
- Pause>nul
复制代码
|