我不要求有关的一般法规则的文件的名称。我的意思是陷阱,跳出来的无处和咬你。例如,试图名称文件",COM<n>"在Windows?

有帮助吗?

解决方案

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

以下人物是无效的文件或文件夹的名字在使用Windows NTFS: / ? < > \ : * | " 和任何性格你可以的类型,与按Ctrl关键。

除上述非法符插入 ^ 也不允许根据Windows操作系统使用脂肪的文件系统。

在使用Windows FAT文件系统的文件和文件夹的名字可能高达255个字符长。

窗下使用windows nt文件系统的文件和文件夹,名称可能是256个字符长。

在窗口的长度完整的路径在这两个系统是260符。

除了这些字符,下列公约也是非法的:

  • 放置一个空间结束时的名称
  • 把一段末的名称

下列文件名称还保留在窗口:

  • aux,
  • com1,
  • com2,
  • ...
  • com9,
  • lpt1,
  • lpt2,
  • ...
  • lpt9,
  • con,
  • nul,
  • prn

其他提示

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

当你不知道时,一个棘手的Unix问题:

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

其中许多工具都有一个特殊的标记<!>“ - <!>”;发出选项结束的信号:

gzip -9vf -- -mydashedfilename

boost :: filesystem 可移植性指南有很多好消息。

那么,对于MSDOS / Windows,NUL,PRN,LPT <!> lt; n <!> gt;和CON。如果与扩展名一起使用,它们甚至会引起问题:<!> NUL.TXT <!>

除非您触摸特殊目录,否则Linux上唯一的非法名称是“.”和“..”。任何其他名称都是可能的,尽管从shell访问其中一些名称需要使用转义序列。

编辑:正如Vinko Vrsalovic所说,以'-'和'--'开头的文件是shell的痛苦,因为这些字符序列是由应用程序解释的,而不是shell。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top