ETC
Space (20h) is a legal for filenames character. Just use it.
Later!
Alex
\ -|
;)-## http://www.geocities.com/SiliconValley/Peaks/1262/
\ -|
Try putting the directory name it quotes....say you wanted a directory
called A TEST, you'd type:
mkdir "A TEST"
good luck
Mike
Evan T. Chen wrote in message <350B16...@concentric.net>...
>Anyone know how to create in Win 3.X AND Dos a directory name with a
>space in it? ALT+255 works in DOS but shows up as UNDERSCORES in
>Windows 3.X. I've seen directory names like this before so I know it's
>possible. Thanks.
>
>ETC
First I assume you're using a DOS < ver 7.0. I don't know about running win
3.X on top of DOS 7.X but I assume what I am going to say still holds in
that situation.
Spaces are not legal in short filenames. Period.
I used to use a disk editor to create files on unsuspecting victims
harddisks with names like "KAN NIET.WEG" (dutch for "cannot be deleted") and
then see them puzzle it out (solution: del "KAN?NIET.WEG").
Under NT this rejection of spaces can be demonstrated like this
C:\>echo .>"a file"
C:\>dir /x a*
Volume in drive C has no label.
Volume Serial Number is 2090-2DA2
Directory of C:\
16-03-98 10:41 3 AFILE~1 a file
24-02-98 16:37 <DIR> assists
09-02-98 18:32 0 AUTOEXEC.BAT
3 File(s) 3 bytes
302.886.912 bytes free
See, NT creates a short filename "AFILE~1" from long filename "a file". It
knows spaces are not legal so it removes the space.
So short answer, it is not possible. You say you have seen it, but I must
assume you're mistaken.
Long answer: What I think is possible under Win 3.X (well 3.11 anyhow) is
that you're connected to a different type of file system that allows names
with a space (network drive). Win 3.11 will then use the naming convention
of the network file system.
It may be possible to use a space in a system call (f.i. by calling fopen("a
file", "w");), however I think DOS will reject this.
If you accidentaly succeed in creating a directory or file with a space in
the (short) name, there is no easy way to access that dir/file. I usually
delete/move this dir/file by using a '?' on the command line where the space
is.
Spaces in dir/filenames may be usefull to restrict users, thay cannot be
easily accessed or deleted. However, disk repair utilities are likely to
rename the dir/file to something legal.
Hope these ramblings are helping,
Martijn
(mlievaar(at)orion(dot)nl)
use a hex editor on the directory entry (like norton's DISKEDIT).
| "More pressure than Rob Roy : Byron Jones |
|| with a new sword." : Communications Manager ||
|| byr...@nd.edu.au : Notre Dame University ||
| http://www.nd.edu.au/byronj/ : Fremantle, Australia |
Martijn Lievaart wrote:
> Evan T. Chen wrote in message <350B16...@concentric.net>...
> >Anyone know how to create in Win 3.X AND Dos a directory name with a
> >space in it? ALT+255 works in DOS but shows up as UNDERSCORES in
> >Windows 3.X. I've seen directory names like this before so I know it's
> >possible. Thanks.
>
> First I assume you're using a DOS < ver 7.0. I don't know about running win
> 3.X on top of DOS 7.X but I assume what I am going to say still holds in
> that situation.
>
> Spaces are not legal in short filenames. Period.
Not only they ARE legal, but it is even DOCUMENTED that they are legal.
Period. ;-)
> Under NT this rejection of spaces can be demonstrated like this
> C:\>echo .>"a file"
> C:\>dir /x a*
> Volume in drive C has no label.
> Volume Serial Number is 2090-2DA2
> Directory of C:\
> 16-03-98 10:41 3 AFILE~1 a file
> 24-02-98 16:37 <DIR> assists
> 09-02-98 18:32 0 AUTOEXEC.BAT
> 3 File(s) 3 bytes
> 302.886.912 bytes free
>
> See, NT creates a short filename "AFILE~1" from long filename "a file". It
> knows spaces are not legal so it removes the space.
Yes. Spaces are removed from the aliases because people like you think
that they are not legal. Read MSDN.
> If you accidentaly succeed in creating a directory or file with a space in
> the (short) name, there is no easy way to access that dir/file. I usually
> delete/move this dir/file by using a '?' on the command line where the space
> is.
Do not confuse command line parameter parsing with filesystem services.
Once again: all versions of DOS support spaces in filenames.
> Not only they ARE legal, but it is even DOCUMENTED that they are legal.
> Period. ;-)
> Once again: all versions of DOS support spaces in filenames.
If spaces in filenames are legal under DOS, I'd sure like to know where
this is documented.
The _MS-DOS 6 User's Guide_ (the official documentation from Microsoft)
says: "File and directory names... cannot contain spaces" (p.27-28).
JoAnne Woodcock, _MS-DOS 6 Companion_, Microsoft Press: "In all cases --
program files, data files, filenames, or filename extensions -- the
following rules apply: Blank spaces are not allowed, so you can't use
names like MY FILE and THISFILE. OK" (p. 140).
Paul Somerson, _DOS Power Tools_, 2nd edition: "Filenames can't contain
spaces" (p. 87).
Follow-ups redirected to comp.os.msdos.misc only.
--
Yves Bellefeuille
Ottawa, Canada
y...@storm.ca
Francais / English / Esperanto
> Alex Verstak wrote:
> Not only they ARE legal, but it is even DOCUMENTED that they are legal.
> Period. ;-)
> Yes. Spaces are removed from the aliases because people like you think
> that they are not legal. Read MSDN.
> Once again: all versions of DOS support spaces in filenames.
You have a reference (encompassing "all versions of DOS")? Something
more definitive than "read MSDN".
//Martin * mart...@sky.net * <- to reply:
Blanks ARE allowed in filenames, but the command line parser will not let you
use them. A simple C program (below) will let you create files with spaces in
the names.
>
> Paul Somerson, _DOS Power Tools_, 2nd edition: "Filenames can't contain
> spaces" (p. 87).
>
> Follow-ups redirected to comp.os.msdos.misc only.
>
> --
> Yves Bellefeuille
> Ottawa, Canada
> y...@storm.ca
> Francais / English / Esperanto
FILENAME.TXT
16-BIT FILE NAMES AS USED BY MS-D0S UP TO VERSION 6.x:
---------------------------------------------------------------------------
MUST FOLLOW RULES OF DOS ( FILENAME.EXT )
MS-DOS 16-bit filenames use a 1-8 Character name, a period and a 0-3
character extension.
Another term used is a 8.3 (eight-dot-three) filename .
CHARACTERS ACCEPTABLE BY DOS:
! exclamation point
# number
$ dollar sign
% percent sign
& ampersand
' apostrophe
() parentheses
- hypen (dash)
0-9 numbers
@ at sign
A-Z letters
^ caret
_ underline underscore
{} braces
` grave accent
~ tilde
CHARACTERS NOT ACCEPTABLE BY DOS:
. period , comma
\ backslash / frontslash
< lessthan > greaterthan
" apostrophe : colon
| pipe no spaces
SPECIAL CHARACTER USES:
* 1-8 character wildcard ? 1 character wildcard
--
this Simple C program lets you test various filenames.
I was able to create a file name "T T.txt" with it:
#include <stdio.h>
/* ---------------------- main() ------------------------- March 21,1998 */
int main(int argc, char *argv[])
{
FILE *fp;
if ( argc > 1 )
{
fp=fopen(argv[1], "wb+");
if ( fp )
{
printf("created >%s< ok\n", argv[1]);
fclose(fp);
}
else
printf("Failed to create >%s<\n", argv[1]);
}
else
printf("no filename\n");
return(0);
}
eg
test.exe "t t.txt"
dir listing:
Volume in drive D is MS-DOS_6
Volume Serial Number is 4027-18EA
Directory of D:\TEMP
. <DIR> 10-02-95 5:32a .
.. <DIR> 10-02-95 5:32a ..
TEST C 471 03-21-98 9:27p TEST.C
TCC OUT 114 03-21-98 9:27p TCC.OUT
TEST OBJ 639 03-21-98 9:27p TEST.OBJ
LHA213 <DIR> 04-13-97 2:35p LHA213
LNK OUT 66 03-21-98 9:27p LNK.OUT
TEST EXE 10,438 03-21-98 9:27p TEST.EXE
T T TXT 0 03-21-98 9:27p T T.TXT
TEMP <DIR> 01-11-97 8:10p temp
T DIR 0 03-21-98 9:47p t.dir
7 file(s) 11,728 bytes
4 dir(s) 24,649,728 bytes free
The listing was created under win95, but I created the file under dos 6.20
Seeing as I actualy created a file with spaces, I think this puts this to rest.
The AnArChIsT! Anarchy! Not! Chaos!
aka
Alex Russell
ale...@uniserve.com
> Blanks ARE allowed in filenames, but the command line parser will not
> let you use them. A simple C program (below) will let you create files
> with spaces in the names.
Of course you can create filenames with spaces or any other character,
for example by using a disk editor, but that doesn't make these
characters legal under DOS.
You can do a lot of things to your disk and to your directory structure
that DOS won't like. ;-)
You created the 'spacey' filename, not DOS. You've demonstrated that
DOS will NOT create the filename you want, you had to resort to using a
devtool to do it!
It puts to rest the fact that DOS does NOT accept spaces in a filename,
and the
fact that you don't understand the concept at all.
DOS (8.3 versions) will not create a filename with a space (among other
illegal chars) in it.
//Martin * mart...@sky.net * <-reply:
>On Sat, 21 Mar 1998, Alex Verstak <aver...@erols.com> wrote:
>
>> Not only they ARE legal, but it is even DOCUMENTED that they are legal.
>> Period. ;-)
>
>> Once again: all versions of DOS support spaces in filenames.
>
>If spaces in filenames are legal under DOS, I'd sure like to know where
>this is documented.
>
<snip>
There is a list of permitted/forbidden characters in DOS itself -
after half an hour of looking, I can't find the reference, but spaces
are definitely permitted (if they weren't, then the OS would prevent
their use, and it doesn't). I think you, and a number of book authors
have made a very common mistake: thinking COMMAND.COM is DOS - it
isn't, it's just a brain dead command processor that comes with the
OS. DOS allows file names with spaces - COMMAND.COM doesn't know what
to do with them.
T.E.D. (tda...@gearbox.maem.umr.edu)
>On Sat, 21 Mar 1998 21:57:46 -0500, Yves Bellefeuille <y...@storm.ca>
>wrote:
>>On Sat, 21 Mar 1998, Alex Verstak <aver...@erols.com> wrote:
>>
>>> Not only they ARE legal, but it is even DOCUMENTED that they are legal.
>>> Period. ;-)
>>
>>> Once again: all versions of DOS support spaces in filenames.
True. But Windows 95 VFAT, which also explicitly permits spaces in filenames,
strips them out of long filenames when creating the short aliases.
Interesting.
>>If spaces in filenames are legal under DOS, I'd sure like to know where
>>this is documented.
>>
><snip>
>There is a list of permitted/forbidden characters in DOS itself -
>after half an hour of looking, I can't find the reference, but spaces
>are definitely permitted (if they weren't, then the OS would prevent
>their use, and it doesn't). I think you, and a number of book authors
>have made a very common mistake: thinking COMMAND.COM is DOS - it
>isn't, it's just a brain dead command processor that comes with the
>OS. DOS allows file names with spaces - COMMAND.COM doesn't know what
>to do with them.
Indeed. And there's your solution: use something other than COMMAND.COM
to do the renaming. The obvious suggestion would be 4DOS, but since I feel
non-obvious today ....
Use QBASIC (or GWBASIC, BASICA, whatever.) Since BASIC syntax uses
quote marks to delimit strings, internal spaces don't pose a problem. The
command would look like:
NAME "C:\SUBDIR\ODD NAME.FIL" AS "ODD_NAME.FIL"
Martin Whittaker wrote in message <351527...@sky.net>...
>Alexander Russell wrote:
>>
(snip)
>
>You created the 'spacey' filename, not DOS. You've demonstrated that
>DOS will NOT create the filename you want, you had to resort to using a
>devtool to do it!
>
First, DOS is not COMMAND.COM. It is not any "external dos command". DOS is
an OS. This OS exposes an API for programmers to use for writing programs
for users. This API clearly accepts spaces in filenames. The fact that the
braindead commandshell (COMMAND.COM) that is freely distributed with DOS
does not allow these spaces, tells us nothing about wether DOS itself allows
spaces in filenames, wich it clearly does.
>It puts to rest the fact that DOS does NOT accept spaces in a filename,
>and the
>fact that you don't understand the concept at all.
No, you don't understand the concept at all.
>
>DOS (8.3 versions) will not create a filename with a space (among other
>illegal chars) in it.
>
Yet a perfectly legal program using no tricks, just the plain ol' DOS api
that has been with us since DOS 2.0, did this. No disk editor tricks, no
cards up sleave. DOS (8.3 versions) will allow you to create files with
spaces in the name, just the braindead tools that come with the OS cannot
handle this. But what did you expect from M$ :^)
Martijn
(mlievaar on orion in nl)
Martijn
(mlievaar(at)orion(dot)nl)
As a PC/computer user for more than 15 years now - I understand that.
The question was originally asked if a filename could be created with a
space in it - and the answer is NO; not without resorting to an external
tool outside of the core DOS (io.sys/msdos.sys or sub whatever files
your os uses) files.
> >It puts to rest the fact that DOS does NOT accept spaces in a filename,
> >and the
> >fact that you don't understand the concept at all.
>
> No, you don't understand the concept at all.
Bunk!
> >DOS (8.3 versions) will not create a filename with a space (among other
> >illegal chars) in it.
> >
>
> Yet a perfectly legal program using no tricks, just the plain ol' DOS api
> that has been with us since DOS 2.0, did this. No disk editor tricks, no
> cards up sleave. DOS (8.3 versions) will allow you to create files with
> spaces in the name, just the braindead tools that come with the OS cannot
> handle this. But what did you expect from M$ :^)
Not DOS - an external tool. Name one 8.3 CI that will create a filename
with a space in it? (no BASICs allowed - they are braindead!)
> Martijn
> (mlievaar on orion in nl)
More bunk!
I'm still waiting to see this alledged (MS/IBM) reference that states
"all versions of DOS" accept space(s) in a filename.
>As a PC/computer user for more than 15 years now - I understand that.
>The question was originally asked if a filename could be created with a
>space in it - and the answer is NO; not without resorting to an external
>tool outside of the core DOS (io.sys/msdos.sys or sub whatever files
>your os uses) files.
Er, it's not possible to create any file -- or do much of anything else --
without tools external to the kernel. Unless you're confusing the kernel
with the command shell and other 'external' tools?
>> Yet a perfectly legal program using no tricks, just the plain ol' DOS api
>> that has been with us since DOS 2.0, did this.
Actually, since DOS 1.0 I think. The FCB calls would strip off *trailing*
spaces, but embedded spaces were okay.
>>No disk editor tricks, no
>> cards up sleave. DOS (8.3 versions) will allow you to create files with
>> spaces in the name, just the braindead tools that come with the OS cannot
>> handle this. But what did you expect from M$ :^)
>Not DOS - an external tool. Name one 8.3 CI that will create a filename
>with a space in it? (no BASICs allowed - they are braindead!)
Translation: Show me one program which can do what I say can't be
done. Programs which do what I say can't be done don't count if I
don't like them!
The only pre-Windows 95 utility *from* *Microsoft* which can properly
parse filenames with spaces (that I know of, other than BASICs) is
DELTREE.EXE. You can pass it a filename with embedded spaces
in quotes. However, it can only delete files, not create them.
Parsing was improved for most of the DOS utilities come Win95. Many
of these program will only run under MS-DOS 7.x, but a few are more
generous. Try this: Copy the files EDIT.COM and EDIT.HLP from the
\WINDOWS\COMMAND directory of a Win95 machine onto another
computer running MS- or PC-DOS, any version from 3.31 on up. Type
EDIT "FOO BAR" and then type a few letters. Save and exit. You can
use DELTREE to delete the resulting file. And no, the Win95 version of
EDIT does not use QBASIC.EXE.
Another kernel oddity: forward slashes are allowed in filenames, as path
separators. They work just the same as backslashes. Again, most MS
utilities can't parse filenames like this (DELTREE is again an exception.)
Many third-party programs can, especially those written by Unix people.
> Another kernel oddity: forward slashes are allowed in filenames, as path
> separators. They work just the same as backslashes. Again, most MS
> utilities can't parse filenames like this (DELTREE is again an exception.)
> Many third-party programs can, especially those written by Unix people.
>
> ras...@highfiber.com
Ah, so that's why the slash no longer works as a parse character in the
FOR command!
Tom Lavedas
-----------
Delta Electronics, Inc.
http://www.deltaelectronics.com/tglbatch/
Martin Whittaker wrote in message <351857...@sky.net>...
>Martijn Lievaart wrote:
>> (snip)
>//Martin * mart...@sky.net * <- to reply:
DOS supports spaces in filenames. COMMAND.COM does not, only because it uses
space as a separator.
Characters NOT allowed by DOS: * ? < > \ / | + = : ; [ ] , "
Character allowed by DOS: ! @ # $ % ^ & ( ) { } ' ~ `
Bean, th...@igateway.com
add <space>
> Character allowed by DOS: ! @ # $ % ^ & ( ) { } ' ~ `
>
> Bean, th...@igateway.com
I understand that io.sys/msdos.sys do not prevent a space from being put
into a filename, and that DOS treats a space char as a delimiter. I
know of no CI (8.3 format) which allows spaces in filenames. Is there
any 8.3 format software which allows a space in filenames - not
including some braindead Basic interpreters which allow all kinds of
bizarre filenames to be created with the SAVE command?
In reality Command.com (the CI - Command Interpreter) is as much a part
of DOS as io/msdos.sys. No one ever says, "I need a copy of DOS. Oh,
and by the way, I need the CI, too!" The DOS commands, SYS and FORMAT
/S, do not ask, "Copy Command.Com, too?". When you think of DOS, the
first thing you think of is the C: prompt, provided by Command.Com.
My contention is that the CI is an integral part of DOS, and therefore
DOS does NOT allow spaces in filenames (io/msdos will, but DOS (the
combination of io/msdos and command.com) does not.)
//Martin * mart...@sky.net * <-to reply:
BTW: just as a little exercise. You know when you delete a file, DOS
puts char E5h in the first position of the dir entry for that file.
OK. What char does DOS put in the first position of the dir entry if
you create a file that uses E5h as the first letter of the filename?
Just to be complete, the program used file-handle functions (ok, bit of an
assumption, but a fairly safe one). These have been around since DOS 2.0. It
is funny though to see that spaces are even allowed with the FCB functions.
Come to think of it, this may be the reason they had to be allowed in
file-handle operations as well.
Greetz,
Martijn
--
mlievaar at orion in nl
UCE and MMF will be proofread for a $500 fee. This is your one and only
warning. This doesn't mean I withdraw my right to charge for storage and
bandwith used by any UCE or MMF. Note that both UCE and MMF are illegal in
the
Netherlands and will be prosecuted. FIGHT SPAM!
(snip)
>
>I understand that io.sys/msdos.sys do not prevent a space from being put
>into a filename, and that DOS treats a space char as a delimiter. I
>know of no CI (8.3 format) which allows spaces in filenames. Is there
>any 8.3 format software which allows a space in filenames - not
>including some braindead Basic interpreters which allow all kinds of
>bizarre filenames to be created with the SAVE command?
>
Actually, this probably means lots of software will allow this. As most
programmers seem to be unaware of this problem, they don't filter spaces.
They just merrily pass the string the user entered to the OS, (by using
fopen() in C f.i.), hoping the OS will catch any invalid characters and
signal an error. Unfortionately, as has been shown previously in this
thread, DOS will happily create the file. I now even remember this was a
problem with some early releases op WP.
>In reality Command.com (the CI - Command Interpreter) is as much a part
>of DOS as io/msdos.sys. No one ever says, "I need a copy of DOS. Oh,
>and by the way, I need the CI, too!" The DOS commands, SYS and FORMAT
>/S, do not ask, "Copy Command.Com, too?". When you think of DOS, the
>first thing you think of is the C: prompt, provided by Command.Com.
>
But do they copy COMMAND.COM? Actually this depends on your dos version.
Some older versions of DOS will use comspec to determine the CI to copy to
the freshly formatted disc, renaming it to COMMAND.COM in the process. If
memory serves, most versions of SYS don't copy a CI at all.
>My contention is that the CI is an integral part of DOS, and therefore
>DOS does NOT allow spaces in filenames (io/msdos will, but DOS (the
>combination of io/msdos and command.com) does not.)
Hm, my home machine gets along nicely without command.com. Am I not running
DOS in that case?
In conclusion: The fact that M$ made an OS that allows spaces in filenames
but not in their own tools leads to this hilarious situation. Lets not get
into the argument about what constitutes DOS. It's an excercise in futility.
I just want to conclude I know no other IMHO real OS where the CI is part of
the OS. Some M$ offerings come close though ;^).
<flame=on>
I didn't take DOS to seriously anyhow, but now I'm even more against this
excuse for an OS. The hoops you have to go through to write something more
than hello world. The bad or non-existing documentation. Not being able to
rely on the OS to clean up after the program terminates. Try f.i. creating a
*robust* program that uses an interupt based timer and accesses files. Hm,
glad I use real OSses these days.
<flame=off>
>BTW: just as a little exercise. You know when you delete a file, DOS
>puts char E5h in the first position of the dir entry for that file.
>OK. What char does DOS put in the first position of the dir entry if
>you create a file that uses E5h as the first letter of the filename?
Good question, I'll try if no one else posts the answer first.
As an aside, did you know that dos allows 05h instead of E5h also for a
deleted file? DOS 1.0 and CPM compatibility go a long way ;^).
Greetz,
Martijn
(mlievaar at orion nl)
[ Lots of dead horse flogging manure viciously snipped. ]
Who really gives that much of a rat's about this anyway ?
>//Martin * mart...@sky.net * <-to reply:
>BTW: just as a little exercise. You know when you delete a file, DOS
>puts char E5h in the first position of the dir entry for that file.
>OK. What char does DOS put in the first position of the dir entry if
>you create a file that uses E5h as the first letter of the filename?
A: 05h
However, it never actually appears to be as such...
C:\>dir ?.
Volume in drive C is Too Loud !!
Directory of C:\
_ 29 27/03/92 15:43
1 file(s) 29 bytes
Not enough bytes free
J:\>type _
This File is NOT Deleted !
where _ above is firstly character E5h and secondly Alt-2-2-9.
OKay so how many points out of 10 do I get ?
S.;-)
- --
.sig II Found and Restored...
>Martin Whittaker - who was both right and wrong about all this at the same
time though he was nice about it so that's OKay - isn't it ;-)
>wrote in message <3519F4...@sky.net>...
>(snip)
>
>>I understand that io.sys/msdos.sys do not prevent a space from being put
>>into a filename, and that DOS treats a space char as a delimiter. I
I think you meant separator rather than delimiter. (spill chuck these)
^
>>know of no CI (8.3 format) which allows spaces in filenames. Is there
>>any 8.3 format software which allows a space in filenames - not
>>including some braindead Basic interpreters which allow all kinds of
>>bizarre filenames to be created with the SAVE command?
>Actually, this probably means lots of software will allow this. As most
>programmers seem to be unaware of this problem, they don't filter spaces.
Actually most programmers seem to be unaware of a lot of things and that
is why MS DOS et al have got so many 'curiosities' in them - some might
go as far as calling them bugs or, if they're not that buggy, 'features'.
Most AntiVirus software has the 'feature' of returning infected 'stuff'
back to their uninfected state; they don't actually disinfect anything
which is a little unfortunate if this 'stuff' got modified between the
infection and disinfection. They do know about this and refuse to call
this a bug, so it must therefore be a "feature"... no viruses; No data;
NO problem (!?!) - sorry, pet peave that I haven't forgotten about ;-)
>>In reality Command.com (the CI - Command Interpreter) is as much a part
>>of DOS as io/msdos.sys. No one ever says, "I need a copy of DOS. Oh,
>>and by the way, I need the CI, too!" The DOS commands, SYS and FORMAT
>>/S, do not ask, "Copy Command.Com, too?". When you think of DOS, the
>>first thing you think of is the C: prompt, provided by Command.Com.
>But do they copy COMMAND.COM? Actually this depends on your dos version.
AFAIR: It depends on the age of your version of DOS. New, do; Old, don't.
>Some older versions of DOS will use comspec to determine the CI to copy to
>the freshly formatted disc, renaming it to COMMAND.COM in the process. If
>memory serves, most versions of SYS don't copy a CI at all.
AFAIR: It depends on the age of your version of DOS. New, do; old, don't.
>>My contention is that the CI is an integral part of DOS, and therefore
>>DOS does NOT allow spaces in filenames (io/msdos will, but DOS (the
>>combination of io/msdos and command.com) does not.)
But "command.com" is not THE - only - CI. "a", yes; "THE", no. There are
alternatives...
>Hm, my home machine gets along nicely without command.com. Am I not running
>DOS in that case?
... but you ARE running A CI, aren't you. [ Or just one 'environment'. ]
>In conclusion: The fact that M$ made an OS that allows spaces in filenames
>but not in their own tools leads to this hilarious situation. Lets not get
>into the argument about what constitutes DOS. It's an excercise in futility.
Fair enough ;-)
>I just want to conclude I know no other IMHO real OS where the CI is part of
>the OS. Some M$ offerings come close though ;^).
CP/M ? Hmm... Anyone ?
><flame=on>
>I didn't take DOS to seriously anyhow, but now I'm even more against this
>excuse for an OS. The hoops you have to go through to write something more
>than hello world. The bad or non-existing documentation. Not being able to
>rely on the OS to clean up after the program terminates. Try f.i. creating a
>*robust* program that uses an interupt based timer and accesses files. Hm,
>glad I use real OSses these days.
><flame=off>
Look dispite the "OS" in "DOS" supposedly standing for 'operating system',
it is not - and never was intended to be - a 'true' O/S (this is micro$--t
after all ;-) AFAIR: DOS was/is a non-re-entrant single tasking interrupt
handler (and nothing more :-)
What do you mean by "real OSses", anyway ? I read "Nice Try" was up to 5.x
>>BTW: just as a little exercise. You know when you delete a file, DOS
>>puts char E5h in the first position of the dir entry for that file.
>>OK. What char does DOS put in the first position of the dir entry if
>>you create a file that uses E5h as the first letter of the filename?
>Good question, I'll try if no one else posts the answer first.
>As an aside, did you know that dos allows 05h instead of E5h also for a
>deleted file? DOS 1.0 and CP/M compatibility go a long way ;^).
Cluse ;-)
Files beginning with an 05h are NOT deleted.
Remember: CP/M and DOS 1.0 were supposed to be the same thing ! ;-)
S.;-)
PS. Name an O/S that DOESN'T use a brain dead partitioning scheme !
snipped...
>DOS 1.0 and CPM compatibility go a long way ;^).
& UNIX.
> <flame=on>
> I didn't take DOS to seriously anyhow, but now I'm even more against this
> excuse for an OS. The hoops you have to go through to write something more
> than hello world. The bad or non-existing documentation. Not being able to
> rely on the OS to clean up after the program terminates. Try f.i. creating a
> *robust* program that uses an interupt based timer and accesses files. Hm,
> glad I use real OSses these days.
> <flame=off>
DOS is horribly inconsistent from version to version - but, look what's
replacing it...Windows! It just gets worse all the time. :-/
On 1998-03-26 marti...@sky.net said:
>BTW: just as a little exercise. You know when you delete a file,
>DOS puts char E5h in the first position of the dir entry for that
>file. OK. What char does DOS put in the first position of the dir
>entry if you create a file that uses E5h as the first letter of the
>filename?
My first guess was, "you can't do that because that is how CP/M, I mean
DOS, knows that a file is deleted." Of course that was incorrect for
DOS, so I would bet that the E5 character isn't changed at all.
Net-Tamer V 1.08X - Test Drive
By now you've likely seen S.Widlake's "guess" of 05h....(who told him
anyway?)...
If nothing else, we're generating a little DOS interest...
>Martijn Lievaart wrote:
>>
>> Martin Whittaker wrote in message <351527...@sky.net>...
>> >Alexander Russell wrote:
>> >
>> (snip)
>> >
>> >You created the 'spacey' filename, not DOS. You've demonstrated that
>> >DOS will NOT create the filename you want, you had to resort to using a
>> >devtool to do it!
>>
>> First, DOS is not COMMAND.COM. It is not any "external dos command". DOS is
>> an OS. This OS exposes an API for programmers to use for writing programs
>> for users. This API clearly accepts spaces in filenames. The fact that the
>> braindead command shell (COMMAND.COM) that is freely distributed with DOS
>> does not allow these spaces, tells us nothing about wether DOS itself allows
>> spaces in filenames, which it clearly does.
>As a PC/computer user for more than 15 years now - I understand that.
>The question was originally asked if a filename could be created with a
>space in it - and the answer is NO; not without resorting to an external
>tool outside of the core DOS (io.sys/msdos.sys or sub whatever files
>your os uses) files.
What about DEBUG ? ;-)
[ ...ness snipped ]
>> >DOS (8.3 versions) will not create a filename with a space (among other
>> >illegal chars) in it.
>>
>> Yet a perfectly legal program using no tricks, just the plain ol' DOS api
>> that has been with us since DOS 2.0, did this. No disk editor tricks, no
>> cards up sleave. DOS (8.3 versions) will allow you to create files with
>> spaces in the name, just the braindead tools that come with the OS cannot
>> handle this. But what did you expect from M$ :^)
>Not DOS - an external tool. Name one 8.3 CI that will create a filename
>with a space in it? (no BASICs allowed - they are braindead!)
DEBUG ? ;-)
S.;-)
That should open this thread up a bit... ;-)
DEBUG is not a CI. You can't boot to it (e.g. IBM's ROM BASIC.)
> S.;-)
>
> That should open this thread up a bit... ;-)
No, you can't boot into EDLIN, either... :-#
> .sig II Found and Restored...
Bummer for the .sig.
>S. Widlake wrote:
>> Martin Whittaker <marti...@sky.net> writes:
You snipped:
>The question was originally asked if a filename could be created with a
>space in it - and the answer is NO; not without resorting to an external
>tool outside of the core DOS files.
And I wrote:
What about DEBUG ? ;-)
DEBUG was included with DOS last time I looked and it's possible to do a
lot of really funky things with that if you know how to 'drive' it. RCX.
>> >Not DOS - an external tool. Name one 8.3 CI that will create a filename
>> >with a space in it? (no BASICs allowed - they are brain dead!)
>>
>> DEBUG ? ;-)
^^^^^
>DEBUG is not a CI. You can't boot to it (e.g. IBM's ROM BASIC.)
Shell=C:\DOS\DEBUG.COM - Might even work ( ? ;-)
>> That should open this thread up a bit... ;-)
>
>No, you can't boot into EDLIN, either... :-#
Shell=C:\DOS\EDLIN.COM - Might even work ( ? ;-)
Hmm... Would it be possible to run 'doze 3.1 without C.C ?
>> .sig II Found and Restored...
>
>Bummer for the .sig.
Perhaps I could expand it and write something Basstard'ish
several 1,000 times a year - that might 'get' to someone ?
S.;-)
... and another thread dies...
- --
Actually you can and it can be usefull. And what has ROM BASIC to do with
it? I can boot Linux and it certainly alows spaces on filenames.
<start sidethreat>
Why could booting into debug be usefull?
1) Some versions of DOS had bugs (so what else is new <grin>). When
formatting a fresh disk with /S, Format would blindly copy whatever comspec
pointed to and name it command.com (bug or feature?). If this was an exe the
new disk would not be bootable as dos expected a CI with .com extension to
really be in com-format (note that this doesn't apply to any CI or the dos
exec-api, this is a bug in msdos.sys).
Enter dos 6. It would ask for the name of the CI. Enter c:\dos\debug.exe,
load the CI and run it to start the system that would otherwise be
unbootable.
2) When writing a new CI, it's the closest way to debug it as close to the
final situation as possible (bar softice).
<end sidethreat>
So what is a CI? If you define a CI to take commands from the user and at
least be able to execute external programs, debug qualifies.
>> S.;-)
>>
>> That should open this thread up a bit... ;-)
>
>No, you can't boot into EDLIN, either... :-#
You can but it's not usefull.
Greetz,
Martijn
--
(mlievaar at orion in nl)
Oops, ment *sidethread*! Sorry guys. (Engish is not my native language)
Martin Whittaker wrote:
Much SNIP snipped.
>>DEBUG is not a CI. You can't boot to it (e.g. IBM's ROM BASIC.)
>Actually you can and it can be usefull. And what has ROM BASIC to do with
>it? I can boot Linux and it certainly alows spaces on filenames.
Hello Martijn!
IBM's ROM BASIC will be the CI if you boot it (with any IBM PC, PC/XT,
or PC/AT, no bootable HD and no boot diskette at power on/reset.)
The LINUX prompt ("$"?) is displayed by LINUX's CI.
IBM BASIC, as I recall, also allows spaces in filenames.
DEBUG is loaded by responding to user input from the CI.
> <start sidethreat>
> Why could booting into debug be usefull?
>
> 1) Some versions of DOS had bugs (so what else is new <grin>). When
> formatting a fresh disk with /S, Format would blindly copy whatever comspec
> pointed to and name it command.com (bug or feature?). If this was an exe the
> new disk would not be bootable as dos expected a CI with .com extension to
> really be in com-format (note that this doesn't apply to any CI or the dos
> exec-api, this is a bug in msdos.sys).
Yes, the %comspec% bug provided much 'entertainment' for 4DOS/NDOS
users!
> Enter dos 6. It would ask for the name of the CI. Enter c:\dos\debug.exe,
> load the CI and run it to start the system that would otherwise be
> unbootable.
>
> 2) When writing a new CI, it's the closest way to debug it as close to the
> final situation as possible (bar softice).
> <end sidethreat>
>
> So what is a CI? If you define a CI to take commands from the user and at
> least be able to execute external programs, debug qualifies.
A CI is the user interface to the OS KERNAL.
> >> S.;-)
> >>
> >> That should open this thread up a bit... ;-)
> >
> >No, you can't boot into EDLIN, either... :-#
>
> You can but it's not usefull.
Not much is from M$. But, hey, if they did it right, think of all those
support dollars that could have been/would be better spent.
> Greetz,
> Martijn
> --
> (mlievaar at orion in nl)
SO? _Why_ hasn't anyone included (inserted?) a DOS filesystem (sic) into
a UNIX shell?
Would that be a Better.DOS?
>Martijn Lievaart wrote in message <6fqhim$l...@news3.euro.net>...
>><start sidethreat>
>Oops, ment *sidethread*! Sorry guys. (Engish is not my native language)
Nah, I think you were right first time around <VBG> ;-)
Anyway, just what is "Engish" ? Is that like 'Amercan' ?
Looks like we've come to the end of the thread, or threat ;-)
'Twas a good one !
Cheers,
S.;-)
As for a disk label it makes sense to get into the habit of
using a space for the first character as this will help prevent the
un-intensional deletion of a hard drive as you will be asked for the
volume name first unless unconditional format has been chosen.
Paul Simpson
Paul (G0RUR) r...@innotts.co.uk "Doctor Dos" or r...@usa.net
Home Page: http://www.innotts.co.uk/~rur/
Visit my Music Project Page
http://www.innotts.co.uk/~rur/music.html
> Whilst DOS will not let you use spaces Dos Edit will let
>you create a file with spaces in the filename. Run dos edit and
>without typing anything save the file as (test one.txt) and a zero
>byte file will be created.
Nope...
+--------------- Save As ----------------+
Ś +-------------------------+ Ś
Ś File Name: Śtest one.txt Ś Ś
Ś +-------------------------+ Ś
Ś J:\ Ś
Ś Dirs/Drives Ś
Ś +-----------------------+ Ś
Ś Ś Ś Ś
Ś Ś Bad file name Ś Ś
Ś Ś Ś Ś
Ś +-----------------------Ś Ś
Ś Ś < OK > < Help > Ś Ś
Ś +-----------------------+ Ś
Ś Ś [-F-] Ś Ś
Ś +--------------+ Ś
+----------------------------------------Ś
Ś < OK > < Cancel > < Help > Ś
+----------------------------------------+
> As for a disk label it makes sense to get into the habit of
>using a space for the first character as this will help prevent the
>un-intensional deletion of a hard drive as you will be asked for the
>volume name first.
Using DOS...
8:40:39 J:\ +>label
Volume in drive J has no label
Volume label (11 characters, ENTER for none)? ram-drive-j
8:40:57 J:\ +>label
Volume in drive J is RAM-DRIVE-J
Volume label (11 characters, ENTER for none)? xxx
^
Cannot make directory entry
8:41:05 J:\ +>label
Volume in drive J has no label
Volume label (11 characters, ENTER for none)?
8:41:10 J:\ +>
Nope. "<space>xxx" clears/deletes the volume label.
^^^^^
S.;-)
PS. M$ DOS 5.0 - 11/11/91 5:00 - No CI mods.