文件名中允许的字符
我在哪里可以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
之外的任何字节都不能有文件/文件夹的调用.
或..