冒号/星号作为文件名分隔符?

Sma*_*ery 6 windows filenames

我正在寻找一个使用文件名分隔符的字符(我在明文字符串中存储多个文件名).的Windows似乎没有允许:,?,*,<,>,",|,/\在文件名中.显然,\并且/不能使用,因为它们意味着路径中的某些东西.是否有任何理由不应该使用其他任何一个?我只是在考虑,/或者\,与其他不允许的字符类似,可能具有特殊含义,我不应该假设它们不在路径名中.在其他7个字符中,为此目的使用绝对安全或绝对不安全吗?

Guf*_*ffa 11

字符:"也用于路径.冒号是驱动器单元分隔符,当空格是文件夹或文件名的一部分时,将使用引号.

本地字符的*?针对文件进行搜索时使用通配符.

字符<>用于重定向的应用程序的输入和输出,并从一个文件.

该字符|用于将一个应用程序的输出输出到另一个应用程序的输入.

我会选择管道字符来分隔文件名.它不用于路径,其形状具有自然的分离质量.

另一种方法是在字符串中使用XML.有一些开销,一些字符需要编码,但优点是它可以处理任何字符,格式是自我解释和明确定义.


Adr*_*son 8

Windows使用分号作为文件名分隔符:;.看一下PATH环境变量,它;在路径元素之间填充.

(另外,在Python中,os.path.pathsep返回";",而":"在Unix上扩展)