使用 notepad++ 保存无名文件但无法使用 Windows 资源管理器

使用 notepad++ 保存无名文件但无法使用 Windows 资源管理器

为什么使用 notepad++ 可以创建一个没有名称的文件,即 .htaccess,但使用 Windows 资源管理器时却需要文件名?

答案1

Explorer.exe这与 Microsoft 允许保存没有文件名且仅指定文件扩展名的文件的方式有关。

看起来某些应用程序(例如 Notepad 和 Notepad++)在其逻辑中没有编入这个限制,并且它们确实允许仅使用扩展名保存文件 - 因此这是 Windows 资源管理器的安全特性或功能,可强制在程序级别默认不发生这种情况。

在此处输入图片描述

解决方法

一种解决方法是在扩展名末尾添加一个额外的点,这样 Windows 资源管理器将允许保存它,但它会解析尾随的点并在没有文件名和末尾没有额外点的情况下保存它。

因此,当您使用 Windows 资源管理器创建它时,.htaccess.它不会出现以下错误消息,并且允许您正常保存它。

在此处输入图片描述

在此处输入图片描述

资源: 如何在 Windows 7 中将文件重命名为 .htaccess?

答案2

从技术上讲,像这样的文件的.htaccess名称为.htaccess,没有扩展名。这来自“命名文件、路径和命名空间”的官方文档,网址为https://msdn.microsoft.com/en-us/library/windows/desktop/aa365247.aspx

文件和目录名称

所有文件系统都遵循相同的单个文件的一般命名约定:基本文件名和可选扩展名,以句点分隔。

请注意总是名称,可选的只有扩展名。因此,如果完整的文件名以点开头,并且其中没有其他点,那么这就是姓名还有扩展名。规范的语言不允许存在有扩展名但没有名称的文件名。

可以通过在一个空目录中创建几个名为.htaccess和的文件.htaccess.bak,然后在 cmd 提示符下运行以下命令来验证这一点。

C:\etc>dir /a-d /b *.*
.htaccess
.htaccess.bak

C:\etc>dir /a-d /b *.
.htaccess

第一个文件dir按预期列出了两个文件,第二个文件(其中*.匹配的文件扩展名).htaccess仅列出。

至于 Explorer,它似乎忽略了规范并遵循自己的规则。.htaccess显示的文件如下,其中同时包含名称 =.htaccess type =HTACCESS file只要扩展未注册。如果名称与已知扩展名,则名称留空,并且扩展名被视为匹配,例如,.cmd显示文件类型 =Windows Command Script且没有名称(当使用默认的 '隐藏已知文件类型的扩展名' 环境)。

由于显示空白名称看起来很糟糕,因此 Explorer 必须决定直接阻止此类名称自行创建。http://blogs.msdn.com/b/oldnewthing/archive/2008/04/14/8389268.aspx

相关内容