Trevor Talbot wrote:
> On 9/3/07, Mark Mielke <mark@mark.mielke.cc> wrote:
>> Tom Lane wrote:
>>> Also, ____ says that Windows throws an error for ":" in the filename,
>>> which means we needn't.
>
>> Windows doesn't fail - but it can do odd things. For example, try:
>>
>> C:\> echo hi >foo:bar
>>
>> If one then checks the directory, one finds a "foo".
>
> : is used for naming streams and attribute types in NTFS filenames.
> It's not very well-known functionality and tends to confuse people,
> but I'm not aware of any situation where it'd be a problem for read
> access. (Creation is not a security risk in the technical sense, but
> as most administrators aren't aware of alternate data streams and the
> shell does not expose them, it's effectively hidden data.)
>
> If any of you are familiar with MacOS HFS resource forks, NTFS
> basically supports an arbitrary number of named forks. A file is
> collection of one or more data streams, the single unnamed stream
> being default.
On MacOS (prior) to OSX, : was used as a directory seperator (Paths
looked like "My Harddisk:My Folder:Somefile"). In OSX, "/" is used,
but for backwards-compatibility the Finder translates "/" in filenames
to ":". So, of you do for example "touch 'my:test'" on the shell,
you see "my/test" in the Finder.
Thats another argument for staying away from : in filenames.
greetings, Florian Pflug