在 CMD 中我得到这个:
C:\>assoc .css
.css=CSSfile
C:\>ftype CSSfile
File type 'CSSfile' not found or no open command associated with it.
但在资源管理器中,CSS 文件有图标,我可以双击并使用记事本打开它。为什么我的 Windows 用记事本打开 CSS 文件?
我不是在问如何使用某个程序打开文件。我是在问为什么 .css 文件与记事本相关联,给出“未找到文件类型‘CSSfile’或没有与其关联的打开命令”ftype命令告诉。
答案1
为什么我的 Windows 使用记事本打开 CSS 文件?
右键单击 CSS 文件,然后单击“打开方式”>“选择默认程序...”
您将看到默认程序设置为“记事本”:
如果您愿意,可以使用此对话框来更改默认应用程序。
在注册表中,该项的HKEY_LOCAL_MACHINE\SOFTWARE\Classes\.css
值设置PerceivedType
为text
:
警告:
- 请勿修改此条目。提及它只是为了解释为什么记事本是默认程序。
记事本是打开文本文件的默认应用程序。
cmd
您可以通过输入其名称在 shell 中打开 css 文件,它也将在记事本中打开:
为什么记事本是打开文本文件的默认应用程序?
如果我有 VIM,如何使 VIM 成为 PerceivedType 为文本的扩展的默认应用程序?
记事本被注册为对可感知文本类型文件执行的命令。
要更改命令以vim
编辑下面描述的注册表值并将其替换%SystemRoot%\system32\NOTEPAD.EXE
为路径vim.exe
。
注册感知类型
感知类型的注册表值被定义为
HKEY_CLASSES_ROOT\SystemFileAssociations
注册表子项的子项。例如,感知类型文本注册如下:
HKEY_CLASSES_ROOT SystemFileAssociations text shell edit command (Default) = "%SystemRoot%\system32\NOTEPAD.EXE" "%1" open command (Default) = "%SystemRoot%\system32\NOTEPAD.EXE" "%1"
PerceivedType
文件类型的感知类型通过在文件类型的子项中包含一个值来指示 。该PerceivedType
值设置为在HKEY_CLASSES_ROOT\SystemFileAssociations
注册表子项下注册的感知类型的名称,如上一个注册表示例所示。例如,要将 .cpp 文件声明为感知类型“文本”,请添加以下注册表项:
HKEY_CLASSES_ROOT .cpp PerceivedType = text
来源应用程序注册