批处理文件中如何更改文本的字体和大小

3

大家好,我想用命令行更改cmd中文本的大小,如果不可能的话希望能够像更新记事本那样实现。我的意思是,我将使用类似以下格式的内容:

echo . sth sth
pause
echo .sth sth
pause

我想展示大尺寸的回显。谢谢。

你可以从这里开始(http://stackoverflow.com/a/19177044/2152082)。你也可以查看页面右侧列出的链接和相关问题。 - Stephan
很遗憾,命令提示窗口的字体不能通过本地命令更改... - aschipfl
实际上,您可以通过单击系统菜单并选择属性,然后转到字体选项卡来更改CMD窗口的字体。在HKCU:Console下的注册表中有每个用户的设置。此外,您可能可以使用SendKeys来立即进行更改。 - Χpẘ
激活cmd控制台菜单的热键是Alt+Space,但我认为控制台有安全机制,防止SendKeys使用该组合键激活菜单。例如,powershell "(new-object -COM wscript.shell).SendKeys('% ')"并不像你想象的那样工作。可以通过PowerShell脚本以编程方式更改字体大小,但据我所知无法更改字体类型。 - rojo
谢谢大家,我已经找到了这个问题的答案。 - kmthrong kmthrongi
1个回答

2

这个方法对我很有效......我是从YouTube上得到的,所以不是我自己发现的,但我正在尝试传播它。只需将此代码复制并粘贴到您的BAT文件的开头。

@echo off
setlocal enabledelayedexpansion enableextensions
set "cmd.con=HKCU\Console\%%SystemRoot%%_system32_cmd.exe /v"
set "ram=!tmp!\WRAM.tmp"
del "%tmp%\_$xy.bat">nul 2>&1
if [%1]==[ok] goto:init
Reg export HKCU\Console Backup.reg>nul
Reg delete HKCU\Console\%%SystemRoot%%_system32_cmd.exe /f>nul
for %%a in (
"FaceName /t REG_SZ /d "Terminal" /f"
"FontFamily /t REG_DWORD /d 48 /f"
"FontSize /t REG_DWORD /d 1024294 /f"
"FontWeight /t REG_DWORD /d 700 /f"
"ScreenBufferSize /t REG_DWORD /d 13107280 /f"
"CursorSize /t REG_DWORD /d 0 /f"
) do (
set "param=%%a"
set "param=!param:~1!"
set "param=%cmd.con% !param:~0,-1!"
Reg Add !param! >nul
)
start /high cmd /q /k "%~0" ok
for %%a in (
"FaceName /f"
"FontFamily /f"
"FontSize /f"
"FontWeight /f"
"CursorSize /f"
) do (
set "param=%%a"
set "param=!param:~1!"
set "param=%cmd.con% !param:~0,-1!"
Reg Delete !param! >nul
)

现在,它将使用终端字体来制作整个批处理文件。现在,在一个批处理文件中不可能有多种字体,因为批处理受到限制...
感谢您阅读本文,希望这对您有所帮助!

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接