Re: Characters allowed in short filenames
- From: "Alexander Grigoriev" <alegr@xxxxxxxxxxxxx>
- Date: Thu, 17 Apr 2008 07:47:03 -0700
Jumping in late to this.
Have you checked CheckNameLegalDOS8Dot3 ? This must be the function you're
looking for.
"Norman Diamond" <ndiamond@xxxxxxxxxxxxxxxx> wrote in message
news:uYuYx4BoIHA.1772@xxxxxxxxxxxxxxxxxxxxxxx
It wasn't intended to be a tirade, just a statement of fact. Mr. Rollins'
articles had a different purpose from my needs, and the two do not
overlap. I tried to explain to IQDave why the overlap is zero.
Yes I know that the rules are extremely complex, and I was hoping someone
could say where to find them.
"m" <m@xxx> wrote in message news:uD9FJg9nIHA.4616@xxxxxxxxxxxxxxxxxxxxxxx
The short answer is: it depends. The rules for file names, especially
short names, are extremely complex and depend on the environment.
BTW: you are not going to get what you want out of this group by tirading
like this
"Norman Diamond" <ndiamond@xxxxxxxxxxxxxxxx> wrote in message
news:udqEoW2nIHA.4292@xxxxxxxxxxxxxxxxxxxxxxx
Also by the way, BJ Rollins' articles (at least the ones I saw) don't
even attempt to discuss what is valid in any OEM code page in the short
name stored on the device. Sometimes they discuss what is valid in one
selected ANSI code page in a client application, but don't even attempt
to discuss dozens of other valid ANSI code pages.
"Norman Diamond" <ndiamond@xxxxxxxxxxxxxxxx> wrote in message
news:%23NVDwV1nIHA.5096@xxxxxxxxxxxxxxxxxxxxxxx
BJ Rollins has a great blog with an average proportion of bugs.
fatgen103.doc seems to have a slightly below average proportion of
bugs, but Windows doesn't completely agree with it. I need the actual
correct rules.
"IQDave" <IQDave@xxxxxxxxxxxxxxxxxxxxxxxxx> wrote in message
news:5AB0E88D-7FD3-4242-97E2-5E1CC1D808A6@xxxxxxxxxxxxxxxx
BJ Rollins seems to have a great handle on this info on his IMTesty
Blog. You
might be able to get an answer from him.
IQDave
"Norman Diamond" wrote:
US Windows 98 stored the German lower-case letter ゜ as the Greek
lower-case
letter ?. Code page 437 has ?. Halfway OK, US Windows 98 defaults
to OEM
code page 437 not 850, and we are halfway towards being able to store
?
(but not ゜).
Now, fatgen103.doc is very clear in prohibiting lower-case letters
from
being stored in a short name. So still, how did ? get into a short
name?
Does anyone know the real rules on what is allowed in a short name?
"Norman Diamond" <ndiamond@xxxxxxxxxxxxxxxx> wrote in message
news:e1iF$PrnIHA.2352@xxxxxxxxxxxxxxxxxxxxxxx
My partial understanding is that short filenames are stored using
the OEM
code page of the system default locale at the time that the file
(or
directory) is created.
For complicated code pages this is pretty simple, for example code
page
932
is both ANSI and OEM, so each ANSI codepoint maps onto the exact
same OEM
codepoint.
For simple code pages this isn't so simple. For example for
several
Western
European languages the default ANSI code page is 1252 but the
default OEM
code page isn't 1252. I thought I read that the default OEM code
page for
US Windows would be 437, but experiments indicate otherwise.
As far as I can tell, code page 437 doesn't contain a ゜ character.
So if
the current default OEM code page is 437 and I create a new file
then the
short filename cannot contain a ゜.
Code page 850 contains a ゜ character. So if the current default
OEM code
page is 850 then we are halfway towards allowing a short filename
to
contain
a ゜. We shouldn't get more than halfway because lowercase letters
aren't
allowed in short filenames, but let's proceed.
I installed US Windows 98 in a virtual PC. I left all its language
settings
as defaults; I didn't even install the options for limited amounts
of
multilingualism. In a command prompt window I tried the MODE CON
command,
but it gave an error instead of telling what code page it was
using.
I did install the character map utility, and copied a ゜ character
into the
command prompt. US Windows 98 let me create file S゜T.TXT. Well
this is
OK
so far, since long filenames are stored in Unicode.
Oops. The DIR command said that the short filename is also S゜T.TXT.
So
does this mean that US Windows defaults its OEM code page to 850
instead
of
437?
The next problem is that fatgen103.doc says that short filenames
are
always
converted to uppercase. So how could a short filename be S゜T.TXT
instead
of
SSST.TXT? No problem for the long filename to be S゜T.TXT, but how
could
the
short filename contain a lowercase letter?
Other letters are going to be more troublesome, and I guess
ntfsgen103.doc[*] is going to say even less than fatgen103.doc
says, but
if
anyone knows the real rules, could someone please say?
[* I assume there's no such document, which is the reason it's not
even
going to say how to determine what characters are allowed in short
names
in
NTFS.]
.
- Follow-Ups:
- Re: Characters allowed in short filenames
- From: Norman Diamond
- Re: Characters allowed in short filenames
- References:
- Characters allowed in short filenames
- From: Norman Diamond
- Re: Characters allowed in short filenames
- From: Norman Diamond
- Re: Characters allowed in short filenames
- From: IQDave
- Re: Characters allowed in short filenames
- From: Norman Diamond
- Re: Characters allowed in short filenames
- From: Norman Diamond
- Re: Characters allowed in short filenames
- From: m
- Re: Characters allowed in short filenames
- From: Norman Diamond
- Characters allowed in short filenames
- Prev by Date: WdfObjectDereference and Cancellation
- Next by Date: Re: Failed to open USB device using CreateFile: ERROR_FILE_NOT_FOUND
- Previous by thread: Re: Characters allowed in short filenames
- Next by thread: Re: Characters allowed in short filenames
- Index(es):
Relevant Pages
|
Loading