README,INSTALL,LICENSE等的Windows文件关联[重复]


5

可能重复:
如何在Windows中设置没有扩展名的打开文件的默认程序?

源自UNIX世界的许多文件都没有文件扩展名。最典型的例子包括READMEINSTALLLICENSE

我们知道这些是文本文件。因此,有点令人失望的是,不能在资源管理器中双击它们并在记事本中看到它们(实际上,Notepad2因为UNIX行结尾而愚蠢的Microsoft Notepad无法正确呈现)。

有没有人知道如何为README没有扩展名的文件创建文件关联?然后可以复制它以覆盖最常出现的文件类型,然后双击打开它们将起作用。


更新(排序以回应您的所有评论。)谢谢,伙计们,您的意见和答案对我有所帮助。

@Indrek,是的,我假设您可以以某种方式为just README或者创建一个关联Makefile,而对于没有扩展名的文件则不能这样做。事实证明,事实恰恰相反,是的,这是一个巧妙地解决问题的解决方法。

最终,我只想双击打开一个READMEMakefile那就是全部。

@Sampo,SendMe技巧也很有用,虽然可用性不如直接双击。(有时我真的很懒。)

使用ftypeftype从管理员提示双击启用作业,结果显示以下技巧:

assoc .=no_ext
ftype no_ext=%SystemRoot%\system32\NOTEPAD.EXE %1
:: You can see it created some entries in the registry:
reg query hkcr\no_ext /s
reg query hkcr\. /s

我的理解是,从Windows的角度来看,如果.文件名中没有,则它没有扩展名。如果它没有扩展名,则无法关联程序以将其打开。所以README文件实际上不是README文件......它只是一个文件。我有兴趣看看是否有某种解决方法。
nhinkle


@Indrek好像直接复制给我?
Ƭᴇcʜιᴇ00712年

@nhinkle不知道我的解决方法是否足够好但它能完成工作,当然我们可以通过将菜单项移动到根菜单来使其更好。也许当我有超过几分钟的时间我会看到它。
Sampo Sarrala

2
@ techie007不一定。OP询问是否可以基于文件名创建文件关联,答案为“否”。在这种情况下,为没有扩展名的文件创建关联是一种解决方法。
Indrek

Answers:


5

您无法根据文件名创建文件关联,但可以为没有扩展名的文件创建一个文件关联。为此,请将以下内容另存为.reg文件并双击它:

Windows Registry Editor Version 5.00

[HKEY_CLASSES_ROOT\.]

[HKEY_CLASSES_ROOT\.\shell]

[HKEY_CLASSES_ROOT\.\shell\open]

[HKEY_CLASSES_ROOT\.\shell\open\command]
@="Notepad.exe %1"

替换Notepad.exe为您要使用的任何文本编辑器。

当然,您也可以手动创建注册表项和值regedit.exe

另请参阅此问题及其答案。


是的,就是这样!从您提到的问题中的答案,我非常喜欢assoc/ ftype,从管理员提示运行。谢谢!
Lumi

3

对于所有文件,您始终可以创建其他菜单项,该项目将在记事本上打开所选文件。

它非常简单,这是如何做到的:

1.打开Send To文件夹。在Windows 7中,此文件夹C:\Users\TestUser10\AppData\Roaming\Microsoft\Windows\SendTo只是更改TestUser10为您的用户名或使用All Users配置文件。

2.notepad.exe使用描述“记事本” 创建新的快捷方式链接。

现在可以使用了

右键单击任何文件并选择"Send To" => "Notepad",Windows将在记事本中打开所选文件。

注意:这适用于所有具有"Send To"功能的Windows版本,您只需找到Send To文件夹并创建快捷方式即可notepad.exe。95,98,ME,2000,XP,Vista,7 ...有它但文件夹路径可能会有所不同。

更新:

好的,我明白了(在阅读了techie007的评论之后)。

以下是使用上述说明作为起点将程序关联到FILENAME或者FILENAME.EXT如果您想要)的方法。

只是不要像我上面建议的那样创建快捷方式,但是创建新的File Editor.cmd,这里是File Editor.cmd根据你的喜好改变案例)的内容:

GOTO FILE_%~n1

:FILE_NOTEPAD
START notepad.exe %1
GOTO EOF

:FILE_nicepic.jpg
START mspaint.exe %1
GOTO EOF

:FILE_config.sys
edit.com %1
GOTO EOF

:EOF

好的,那只是快速草图。欢迎任何人改进它,一个建议是使用IF ... ELSE语句来获取任何未定义的文件类型/名称的默认回退程序(例如十六进制编辑器)。使用条件语句,还可以使用findstr正则表达式来确定文件名部分的启动器。

更新:与文件关联集成

这部分是关于将上述与Indrek的答案相结合

想法非常简单,只需编写上面的批处理文件(甚至更好,具有类似功能的真实程序),而不是“发送到” System32文件夹将其放置到文件夹中(只是不要将它放在发送到内部)。

准备好脚本/程序之后,请遵循Indrek的答案,但有一个例外:使用file editor.cmd %1或任何您命名的批处理/程序)而不是notepad %1

这使您可以同时使用:通过文件名选择应用程序和从Windows资源管理器中单击双击。


这个GOTO想法很简单,但应该有一个默认行为。如果可能的话,某种打开对话框。
Dennis

谢谢,这很有用。对于这种情况,但是,我发现ASSOC/ FTYPE.更实用。尽管如此。
Lumi

@Lumi如果您想改进<i>未知文件关联</ i>的功能,请参阅我的上一次更新。如果你想为不同的应用程序,这是唯一有用的READMELICENSE
Sampo Sarrala
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.