Answers:
使用命令行:
assoc .="No Extension"
ftype "No Extension"="C:\path\to\my editor.exe" "%1"
值得赞扬的是,我从这里和这里的vim Wikia中学到了这一点
额外信息:
代替"C:\path\to\..."
,以下宏可能会有用:
%SystemDrive%
-安装驱动器窗口,即 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 .=
ftype no_ext="C:\Program Files (x86)\Notepad++\notepad++.exe" "%1"
cmd
管理员身份运行
no_ext
Windows资源管理器将在此类文件的“类型”列中显示。我认为更具可读性的描述会更好,所以我使用"No extension"
,包括双引号,而不是no_ext
上面的命令。
assoc "No extension"\DefaultIcon=%SystemRoot%\system32\imageres.dll,-102
assoc
在PowerShell中找不到,因此cmd
是必需的。2)当不以管理员身份运行时,它抛出了一个错误,所以我以管理员身份运行。该命令运行时不会引发错误,但似乎未执行任何操作。之后我也重新启动了。
带有扩展名的普通文件可以与一个程序关联,但是没有扩展名的文件则不是这样。如果双击一个并选择一个应用程序,然后选中始终使用该应用程序的框,它将被忽略,并且每次选择文件时都必须选择该应用程序。
您可以使用注册表来强制执行此操作:
如果现在双击没有扩展名的文件,它将打开并带有选定的应用程序。
要检查现有应用程序使用了什么,请查看其在HKEY_CLASSES_ROOT下的条目,例如HKEY_CLASSES_ROOT.doc使用Word.Document.8,因此如果您希望将其用作默认编辑器,则可以将HKEY_CLASSES_ROOT。(默认)更改为Word.Document.8。
避免需要编辑注册表的任何方法如下:
HKCR\.xml
为xmlfile
,则表示外壳程序(Explorer)需要转到该键HKCR\xmlfile
并从该键读取信息。
这是.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"
这些解决方案中的大多数在Windows 8.1上都不适合我。我通过执行以下操作使其工作(这也适用于Windows 7和Windows 10):
请遵循hasnj的解决方案:首先打开提升的命令窗口,然后键入
assoc .="No Extension"
ftype "No Extension"="C:\path\to\my editor.exe" "%1"
打开regedit并导航到
HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts\.
右键单击并添加一个新密钥(UserChoice
如果尚不存在)。
在新的UserChoice项中,右键单击并创建一个名为的新字符串值Progid
。将其值设置为“无扩展名”(不带双引号)。
OpenWithList
,OpenWithProgids
并且我添加了一个UserChoice
。
No Extention
应该是No Extension
?
Pauk的答案对我不起作用,我不得不改用:
Windows注册表编辑器版本5.00
[HKEY_CLASSES_ROOT。] @ =“无扩展名”
[HKEY_CLASSES_ROOT \无扩展名]
[HKEY_CLASSES_ROOT \ No Extension \ Shell]
[HKEY_CLASSES_ROOT \ No Extension \ Shell \ Open]
[HKEY_CLASSES_ROOT \ No Extension \ Shell \ Open \ Command] @ =“ C:\\ pathtoexe \\ yourexe.exe%1”
请注意exe路径上的双反斜杠。
您也可以使用NirSoft FileTypesManager:
FileTypesMan是Windows“文件夹选项”中“文件类型”选项卡的替代方法。
FileTypesMan还允许您轻松编辑每种文件类型的属性和标志,并允许您添加,编辑和删除文件类型中的动作。
其他答案有些过时了。以下是适用于Windows 7的链接:
可以在以下位置注册不带文件扩展名的文件名的Shell扩展名:
[HKEY_CLASSES_ROOT\.] For example, to associate a program (for example, Notepad.exe) to open all files with no extension, use the following registry keys: [HKEY_CLASSES_ROOT\.] @="" [HKEY_CLASSES_ROOT\.\shell] [HKEY_CLASSES_ROOT\.\shell\open] [HKEY_CLASSES_ROOT\.\shell\open\command] @="<path to notepad.exe> %1" Here is an alternative method: [HKEY_CLASSES_ROOT\.] @="NoExtFile" [HKEY_CLASSES_ROOT\NoExtFile] [HKEY_CLASSES_ROOT\NoExtFile\shell] [HKEY_CLASSES_ROOT\NoExtFile\shell\open] [HKEY_CLASSES_ROOT\NoExtFile\shell\open\command] @="<path to notepad.exe> %1"
我在IE9中打开PDF文件时遇到问题,是IE9(旧程序需要)。PDF文件是由Javascript生成的,并以application / pdf内容类型扔回浏览器,这很好,但是文件名“ none”却是不好的。IE8允许您选择“保存”,“取消”和“打开”并了解MimeType。出于某些原因,IE9不会。因此,您每次必须选择使用PDF阅读器打开它。
我的解决方案:通过这篇文章,我为不带扩展名的文件建立了文件关联。首先,我将其映射到Acrobat Reader,它工作正常,但限制了不带扩展名即可打开文件的可能性。因此,我选择Internet Explorer作为没有扩展名的文件的默认查看器。这样,如果IE可以打开它或知道插件或其他关联,它将起作用。
我在桌面上使用文件“ none1”和“ none2”对其进行了测试。“ none1”是说“ hello world”的文本文件。“ none2”是pdf文件。
这是我的.reg文件:
Windows Registry Editor Version 5.00
[HKEY_CLASSES_ROOT\.]
@="htmlfile"
[HKEY_CLASSES_ROOT\.\PersistentHandler]
@="{eec97550-47a9-11cf-b952-00aa0051fe20}"
-见截图