有没有发现windows系统自带的一些文件夹虽然显示的是中文名称,但真实路径地址其实是英文的,比如系统的“桌面”文件夹,其真实路径为C:\Users\你的用户名\Desktop,像这样的文件夹还有文档、音乐、视频、图片、下载等文件夹,都使用中文名称英文路径,这是怎么做到的呢?
首先系统这么做是因为很多程序不支持中文路径,所以文件夹名称其实是英文的,但为了显示友好,就使用别名进行显示,设置此功能需要使用文件夹中隐藏的desktop.ini进行设置。文件夹中默认是没有此配置文件的,当我们右击文件夹-属性-自定义,更改了文件夹图标,则文件夹中会自动生成系统级隐藏的desktop.ini,以记录此文件夹的图标配置参数。我们打开文件夹选项-查看,打开下图中的两项才能看到desktop.ini文件。
desktop.ini配置文件以[.ShellClassInfo]语句开头,之后的每一行为一个配置参数,IconResource参数配置文件夹图标,系统自带的图标大部分在C:\WINDOWS\System32目录下,winxp以前的图标大都在moricons.dll中几乎不再使用,winxp时代的图标大都在shell32.dll中,win7及以后的图标大都放在imageres.dll中。LocalizedResourceName参数则配置文件夹别名,此别名仅用于显示,文件夹真实路径保持不变。
需要注意的是win7系统desktop.ini文件默认编码是ANSI,可是正确显示中文别名,win10和win11默认编码已经改为utf-8,中文别名会显示乱码,可以将desktop.ini另存为ANSI编码格式后覆盖保存在原位置即可。
如果不想使用修改文件夹图标的方式生成desktop.ini文件,我们可不可以手动创建此文件来修改别名呢?经过测试,新建desktop.ini即使写入相同的代码,文件夹也不会有任何变化,这是因为desktop.ini生效有一个前提条件,就是生效的文件夹必须设置为系统文件属性,在cmd中使用“attrib文件夹路径+s”设置即可。
电脑