文件名中允许的字符
我在哪里可以find文件名中允许的字符列表,取决于操作系统? (例如,在Linux上,文件名中允许使用':'字符,但不能在Windows上使用)
您可以从维基百科文件名页面开始。 它有一个相当体面的表( Comparison of filename limitations )列出了相当多的文件系统的保留字符。
以及保留的文件名称本身像在MS-DOS下的CON 。 我记得有一次,当我把包含文件从const.h缩短到con.h并花了半个小时搞清楚编译器为什么挂起。 打开DOS忽略设备的扩展名,使得con.h与con ,input控制台(当然,编译器正在等待我在input头文件之前继续input)完全相同。
在Windows操作系统上创build一个文件,并为其指定一个无效的字符,例如文件名中的\ 。 因此,您将得到一个文件名中包含所有无效字符的popup窗口。
好的,所以看文件系统的比较,如果你只关心主播的文件系统:
- Windowz(FAT32,NTFS):除
NUL和\ - Mac(HFS,HFS +):任何有效的Unicode除外
:或/ - Linux(ext [2-4]):除
NUL以外的任何字节
所以除了NUL , / , \ NUL之外的任何字节都不能有文件/文件夹的调用. 或..