为什么我的 Windows 使用记事本打开 CSS 文件?

为什么我的 Windows 使用记事本打开 CSS 文件?

在 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 文件,然后单击“打开方式”>“选择默认程序...”

您将看到默认程序设置为“记事本”:

enter image description here

如果您愿意,可以使用此对话框来更改默认应用程序。

在注册表中,该项的HKEY_LOCAL_MACHINE\SOFTWARE\Classes\.css值设置PerceivedTypetext

enter image description here

警告:

  • 请勿修改此条目。提及它只是为了解释为什么记事本是默认程序。

记事本是打开文本文件的默认应用程序。

cmd您可以通过输入其名称在 shell 中打开 css 文件,它也将在记事本中打开:

enter image description here


为什么记事本是打开文本文件的默认应用程序?

如果我有 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

来源应用程序注册

相关内容