更改Windows命令行字体

平常工作时不时地会用到Windows命令行,编译个小程序或者使用某些命令行程序什么的,但是中文版Windows的命令行可选的字体只有点阵字体和新宋体,我都不喜欢。在网上搜索了一下,发现这个问题源自于Windows命令行的代码页设置。代码页是字符编码发展过程的产物,本文不再详述,感兴趣的同学可以关注我的专栏《编码精粹》 。下面我们直接看怎么解决这个问题,叙述以Windows 7为例,但是应该适合大多数版本的Windows系统。

一、默认情况

默认情况下的效果如下所示:

这个字体稍微用用还行,如果每天都要用的话,我会疯的,尤其是汉字的效果,让人不忍直视。

打开cmd,点击左上角图标,在弹出的系统菜单中选择属性,就会出现如下所示的属性窗口。可以看到cmd程序的当前代码页是936,使用的编码是GBK。接着切换到字体选项卡,查看可选的字体。

字体列表中只有点阵字体和新宋体,这个问题源于Windows对Console程序的设定,打开注册表定位至[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Console\TrueTypeFont],就可以看到Windows下Console程序的TrueType字体设定了。

我们可以看到936等几个字符串值每一项都对应一个代码页,比如936对应简体中文,950代表繁体中文等。0和00(000是我后加的)两项则比较特殊,其实这两个都是代码页437对应的字体。也就是说除了代码页437之外,其他的代码页只能指定一种可用的字体,否则就要使用点阵字体。

二、解决方案

既然问题的根源已经找到,那么解决起来也很简单。如果不使用默认字体以外的字体的话,可以很简单的将代码页切换到437,然后选择喜欢的字体即可。当然了默认情况下代码页437可用的字体也只有Lucida Console和Consolas,Lucida Console的效果就不敢恭维了,Consolas我觉得还挺不错的。那代码页怎么切换呢?很简单chcp [codepage]即可。

现在我们再来看一下属性页面的可选字体。

可以看到字体列表中有Consolas和Lucida Console了,选择Consolas看一下效果。

还不错哈!但是,如果你和我一样想使用更多的字体,或者对Consolas在命令行程序中的效果不满意的话,就要考虑一下增加命令行程序可用的字体了。要增加字体其实也很简单,在注册表中[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Console\TrueTypeFont]项下增加一项名字为000的字符串值,并将其值设置为你想要用的字体的名字,如果要增加更多字体只要再增加一项字符串值,并将其命名为0000,也就是多加一个0即可。下图中我增加了一个名为Bitstream Vera Sans Mono的字体,你可以选择任何你想用的字体,当然了必须是系统中已经有的。

选择Bitstream Vera Mono,然后看一下效果~

这回顺眼不少了哈~

三、两个注意事项

  1. 有的同学说在代码页437下,中文显示有问题,这个我没有遇到过。如果你确实遇到了这样的问题的话,可以尝试着先按照前面我说的方法更改或添加字体,然后再将代码页切换到936。
  2. 前面讲的方法不仅适用于命令提示符程序cmd,也适用于PowerShell。
时间: 2024-10-16 08:39:40

更改Windows命令行字体的相关文章

Mac OSX系统、Linux、Windows命令行教程

Mac OSX系统.Linux.Windows命令行教程 一.各系统终端的使用方法 二.各系统命令的功能 用你的终端做一些事情 (command line, Terminal, PowerShell). 一.各系统终端的使用方法 Mac OSX 在Mac OSX系统上,你应该 按住 command 键,并敲空格键. 屏幕顶部会弹出一个蓝色的"搜索框". 输入"terminal". 点击终端应用程序,这个程序的图标看起来有点像一个黑盒子. 终端就打开了. 现在你可以在

windows命令行下导入excel数据到SQLite数据库

1.转换文件格式,防止中文乱码:将excel保存成"CSV(逗号分隔)(*.csv)"格式,关闭文件,用记事本打开刚才保存的.csv文件,然后另存为UTF-8格式文本.需要注意的是,经过这样的转换,数字也全变成文本了. 2.通过adb shell(adb.exe存放在android开发软件安装文件夹中,如 F:\Develope\Tools\adt-bundle-windows-x86\sdk\platform-tools\)更改sqlite数据库的使用权限.运行adb之前要先打开AV

Windows命令行的使用

在介绍Windows批处命令前,我们首先来介绍Windows命令行的使用. Windows shell提供了一个黑色的框框界面,即命令行操作界面,关于命令行的作用和好处,我就不费口舌了,下面仅窥见一斑. 为了方便,免得进行盘符切换,我在F盘建立了一个文件夹,名称为myFile, 把Windows的cmd.exe复制到myFile文件夹中,双击cmd.exe, 就可以进行命令行的操作了,双击后的结果为: Microsoft Windows XP [版本 5.1.2600](C) 版权所有 1985

git代理,windows命令行代理,linux命令行代理

下载不动设置代理:git config --global http.proxy http://127.0.0.1:1080git config --global https.proxy https://127.0.0.1:1080git config --global http.SSLVERIFY false 删除git config项目:git config --global http.proxy ""git config --global https.proxy "&qu

windows安装使用python、环境设置、多python版本的切换、pyserial与多版本python安装、windows命令行下切换目录

1.windows下安装python 官网下载安装即可 2.安装后的环境设置 我的电脑--属性--高级--设置path的地方添加python安装目录,如C:\Python27;C:\Python33 3.多版本的切换三种方法: 1)修改C:\Python27;C:\Python33内python.exe为python2.7.exe.python3.3.exe,即可区别开来 2)path路径中去除不用的,保留要用的 3)切换到想使用版本的python.exe目录下使用python解释器 4.下载好

在windows命令行窗口下执行:查看所有的端口占用情况

开始--运行--cmd 进入命令提示符 输入netstat -ano 即可看到所有连接的PID 之后在任务管理器中找到这个PID所对应的程序如果任务管理器中没有PID这一项,可以在任务管理器中选"查看"-"选择列" 经常,我们在启动应用的时候发现系统需要的端口被别的程序占用,如何知道谁占有了我们需要的端口,很多人都比较头疼,下面就介绍一种非常简单的方法,希望对大家有用 假如我们需要确定谁占用了我们的9050端口 1.Windows平台 在windows命令行窗口下执

windows命令行中java和javac、javap使用详解(java编译命令)(转)

最近重新复习了一下java基础,这里便讲讲对于一个类文件如何编译.运行.反编译的.也让自己加深一下印象 如题,首先我们在桌面,开始->运行->键入cmd 回车,进入windows命令行.进入如图所示的画面: 可知,当前默认目录为C盘Users文件夹下的Administrator文件夹.一般而言,我们习惯改变当前目录.由于windows有磁盘分区,若要跳到其他磁盘,例如E盘,有几种方法: 1.输入命令: pushd 路径(此命令可将当前目录设为所希望的任一个已存在的路径) 2.输入命令: e: 

在Windows命令行窗口中输入并运行PHP代码片段(不需要php文件)的方法

有时候只是简单的为了测试某个php函数的效果,以前总是需要建一个php文件,复制这个文件的路径,再通过web访问或者用php命令执行这个php文件. 一直想要怎么才能不用创建文件,才能直接执行PHP代码片段呢?终于找到了方法,现在分享出来,给有需要的人. 前提: 1. 本文只是说Windows下的情况.其他操作系统也类似,但略有不同. 2. 必需已经安装好了php,并设置好了环境变量.如果下载的可执行安装包进行安装的,一般已经自动设好环境变量了.如果是下载的zip包自己解压的,需要手工设置环境变

Windows命令行语法说明

摘自:http://lavasoft.blog.51cto.com/62575/1113234 说来惭愧,用windows这么多年了,对其命令行语法看得似懂非懂,认真琢磨了下,并通过微软官方技术网站获得如下解释: Windows命令行语法说明 表示法 说明 不带方括号或大括号的文本 您必须键入如下所示的项目 < 尖括号内的文本 > 您必须为其提供值的占位符 [方括号内的文本] 可选的项目 {大括号内的文本} 一组所需的项目.选择一个 竖线 (|) 互斥项 : 的分隔符选择一个 省略号 (…)