如何设置打开文件的默认程序没有Windows 中的扩展?
答案1
使用命令行:
assoc .="No_Extension"
ftype "No_Extension"="C:\path\to\my editor.exe" "%1"
重新启动计算机以使更改生效。
额外信息:
除了 之外"C:\path\to\..."
,下面的宏可能更有用:
%SystemDrive%
- 安装了 Windows 的驱动器,即C:\
%ProgramFiles%
- 例如"C:\Program Files\"
%ProgramFiles(x86)%
- 例如"C:\Program Files (x86)\"
不过,你需要正确地逃避它们:
ftype "No_Extension"=^"^%ProgramFiles(x86)^%\Notepad++\notepad++.exe^" "%1"
将图标设置为与 .txt 文件相同(我没有这样做,因为它会自动使文件的图标显示为 Notepad++ 文件):
assoc "No_Extension"\DefaultIcon=%SystemRoot%\System32\imageres.dll,-102
要撤消,您可以阅读assoc /?
或ftype /?
信息,例如:
ftype "No_Extension"=
assoc "No_Extension"\DefaultIcon=
assoc .=
答案2
带有扩展名的普通文件可以与程序关联,但是没有扩展名的文件则不然。如果您双击一个文件并选择一个应用程序,然后选中始终使用该应用程序的复选框,则系统会忽略它,并且每次选择文件时都必须选择该应用程序。
您可以使用注册表强制执行此操作:
- 启动注册表编辑器 (regedit.exe)
- 移至 HKEY_CLASSES_ROOT
- 从编辑菜单中选择新建 - 键
- 输入名称“。”并按 Enter 键(不要输入引号)
- 选择新的“。”键
- 双击(默认)值
- 更改为用于打开的 HKEY_CLASSES_ROOT,例如,对于 notepad.exe 应用程序,则更改为 NOTEPAD。
- 单击“确定”
如果您现在双击没有扩展名的文件,它将使用选定的应用程序打开。
要检查现有应用程序使用了什么,请查看 HKEY_CLASSES_ROOT 下的条目,例如 HKEY_CLASSES_ROOT.doc 使用 Word.Document.8,因此如果您希望将其作为默认编辑器,则可以将 HKEY_CLASSES_ROOT.(Default) 更改为 Word.Document.8。
任何避免编辑注册表的方法如下:
- 打开资源管理器 - 查看 - 文件夹选项... - 文件类型 - 新类型:
- 类型描述:文本(任何描述,都可以输入)
- 相关扩展:.(只是一个句点)
- 动作: - 新...
- 动作:打开
- 用于执行操作的应用程序:c:\winnt\notepad.exe
- 单击确定,然后再次单击确定
答案3
这是让记事本打开未知文件扩展名的 .reg 文件示例。创建一个扩展名为 .reg 的新文本文件,将其剪切并粘贴到其中,然后双击运行,它就会将其放入注册表中。
Windows Registry Editor Version 5.00
[HKEY_CLASSES_ROOT\Unknown\shell]
@="notepad"
[HKEY_CLASSES_ROOT\Unknown\shell\notepad]
@="Open with Notepad"
[HKEY_CLASSES_ROOT\Unknown\shell\notepad\command]
@="C:\\WINDOWS\\NOTEPAD.EXE %1"
答案4
对于使用 Windows 11 并希望使用 Notepadd++ 的用户来说,这很好用。打开行政人员命令提示符并粘贴以下内容:
assoc .="No Extension"
ftype "No Extension"=^"^%ProgramFiles^%\Notepad++\notepad++.exe^" "%1"
assoc "No Extension"\DefaultIcon=%SystemRoot%\System32\imageres.dll,-102
笔记:这是为了x64 版本,因此是“Program Files”而不是“Program Files(x86)‘
这对于 Dockerfile 非常有帮助。