当前位置:  开发笔记 > 开发工具 > 正文

什么是各种平台的保留文件名?

如何解决《什么是各种平台的保留文件名?》经验,为你挑选了4个好方法。

我不是在询问文件名的一般语法规则.我的意思是陷入困境并陷入困境的陷阱.例如,尝试在Windows上命名文件"COM "?



1> Jacob T. Nie..:

来自:http://www.grouplogic.com/knowledge/index.cfm/fuseaction/view_Info/docID/111.

使用NTFS在Windows上使用以下字符作为文件或文件夹名称无效:/ ? < > \ : * | "以及可以使用Ctrl键键入的任何字符.

除了上述非法字符外,^使用FAT文件系统的Windows操作系统也不允许使用插入符号.

在Windows下使用FAT文件系统文件和文件夹名称最长可达255个字符.

在Windows下使用NTFS文件系统文件和文件夹名称最长可达256个字符.

在Window下,两个系统下的完整路径长度为260个字符.

除了这些字符,以下约定也是非法的:

在名称末尾放置一个空格

在名称末尾添加句点

Windows下还保留以下文件名:

aux,

com1,

com2,

...

com9,

lpt1,

lpt2,

...

lpt9,

con,

nul,

prn


根据Adam提到的文章,aux在Windows中也不是允许的文件名

2> Adam Rosenfi..:

Windows上合法和非法文件名的完整描述: http://msdn.microsoft.com/en-us/library/aa365247.aspx



3> Malvineous..:

正如其他人所说,像Windows这样的设备名称不可能作为Windows下的文件名,因为它们是保留的设备.

但是,有一种转义方法可以创建和访问具有这些保留名称的文件,例如,此命令会将命令的输出重定向ver到名为COM1的文件中:

ver > "\\?\C:\Users\username\COM1"

现在你将有一个名为COM1的文件,99%的程序将无法打开,如果你试图访问它可能会冻结.

以下是Microsoft文章,解释了这个"文件名称空间"的工作原理.基本上它告诉Windows不要对文本进行任何字符串处理并将其直接传递给文件系统.此技巧还可用于处理长度超过260个字符的路径.



4> Vinko Vrsalo..:

不知道时会遇到棘手的Unix陷阱:

以-或-开头的文件是合法的,但使用起来很麻烦,因为许多命令行工具都认为您正在为它们提供选项。

这些工具中的许多工具都有一个特殊的标记“-”来表示选项的结束:

gzip -9vf -- -mydashedfilename

推荐阅读
mobiledu2402851377
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有