|
Posted by Steve on 12/19/07 16:51
"Toby A Inkster" <usenet200712@tobyinkster.co.uk> wrote in message
news:hoqn35-hv3.ln1@ophelia.g5n.co.uk...
> Captain Paralytic wrote:
>
>> How do you define a valid filename?
>
> Good question. As far as I know, for Linux and most UNIXy OSes it's this:
>
> #[^/]#
>
> i.e. any string that doesn't contain a slash is a valid filename. (Because
> of course, the slash must be a directory separator.) Any other character
> is valid in a file name -- asterisks, question marks, colons, tabs, line
> feeds, whatever. Names "." and ".." are technically allowed, but they
> always already exist.
>
> It does depend on the filesystem though. Linux supports dozens of
> different filesystems and some of those will limit you further.
>
> Windows is a more fussy. As well as slashes, it doesn't allow colons,
> backslashes, asterisks, question marks, whitespace other than the space
> character itself, less-than and greater-than signs, double quotes and the
> pipe symbol. There are also a small number of reserved file names that
> cannot be created, such as "CON", "PRN", "CLOCK$" and "LPT1" -- these
> special filenames were used to represent various hardware devices in DOS.
with the exception of CLOCK$ on win >= xp, you're exactly right...and i'm
glad i'm not the only one geeky enough to know that. :^)
Navigation:
[Reply to this message]
|