Stone
10k Member
Huh? Wanna be more specific?This isn't my specialty, but why not just have it load at system boot, then unload it, or the just unload the chunks that need to be unloaded, then RELOAD that little pile to the ramdrive?
Huh? Wanna be more specific?This isn't my specialty, but why not just have it load at system boot, then unload it, or the just unload the chunks that need to be unloaded, then RELOAD that little pile to the ramdrive?
It's always DOS and it seems to me that it is doing what it's told.
The PATH statement does not govern where command.com looks for it's transient part to reload it. It is just the search path for command line executables.I've seen that before - try using the PATH statement in a small autoexec on your bootable floppy for all applicable drives, i.e. PATH=A:\;B:\;C:\ . . . etc. (including a RAM drive if any). Also try SET COMMAND.COM=A:\ may help it it's overwritten by some means in high memory.
And I'm not following your line of reasoning since I still think it is doing what it is told.Then I guess I'm not understanding something - sorry. I'm seeing this an anomaly in how DOS is reading the shell= command or subsequent comspec= variable. IOW, not doing what it's told.
And I'm not following your line of reasoning since I still think it is doing what it is told.
/P
Should be used only when COMMAND is used with the SHELL command in the
CONFIG.SYS file. The /P switch makes the new copy of the command
interpreter permanent. In this case, the EXIT command cannot be used to
stop the command interpreter. If you specify /P, MS-DOS runs your
AUTOEXEC.BAT file before displaying the command prompt. If there is no
AUTOEXEC.BAT file in the root directory of the startup drive, MS-DOS
carries out the DATE and TIME commands instead. If you do not have a
SHELL command in your CONFIG.SYS file, COMMAND.COM is automatically
loaded from the root directory with the /P switch.
I am reasoning that if it followed the comspec command "when told", then you would not have a problem.
Anyway, I didn't see what you "told" it. Did you use the /p switch? I think you need to do that.
AFAIK if you invoke COMMAND.COM with SHELL = then the /p switch will make that the primary command processor and carry on as usual processing autoexec.bat etc.; without the /p switch you will invoke a secondary COMMAND.COM
Now, if that secondary COMMAND.COM has the /p option set then you will not be able to return to the primary; without /p an EXIT will take you out and back.
shell=c:\sys\ms\command.com c:\sys\ms /e:1024 /p /f
Odd; seems to work fine for me, although as I said it does start a secondary command.com....As for the shell command, I'm no expert, but I know what works. As mentioned before, this works:
Code:shell=c:\sys\ms\command.com c:\sys\ms /e:1024 /p /f
It does not work without the /p - I just tried that.
I end up at a C:\ prompt with no autoexec.bat having been run. I had to type in a path so I could edit the config.sys and boot properly again. lol Anyway, that's probably a side effect of some of the odd things I do like make my config.sys and autoexec.bat hidden and read only - they being edited and backed up with a bat command. I don't know if it had anything to do with not having a command.com in the root. I'll check that.What happens when you leave out the /p ?
Ah, no, since it's not really the primary shell it doesn't run AUTOEXEC (just as if you ran command.com from a prompt or specifiied /d); you'd have to run it manually, but otherwise everything should be fine (until you type 'EXIT' ;-) Fortunately that seems to default OK).I end up at a C:\ prompt with no autoexec.bat having been run.
Ah, no, since it's not really the primary processor it doesn't run AUTOEXEC (just as if you ran command.com from a prompt); you'd have to run it manually, but otherwise everything should be fine (until you type 'EXIT' ;-) Fortunately that seems to default OK).
Yes, like I said not specifying COMMAND.COM's /p option when using SHELL makes the primary COMMAND.COM non-permanent, just like typing COMMAND.COM at a prompt which does not run autoexec.bat either. The difference is that typing COMMAND.COM creates a second level shell and EXIT will take you back up one level to the shell above it; if you EXIT from the primary shell there is no shell above it to EXIT to.I'm not sure I understand your comment. Anyway, typing "EXIT" results in "no command interpreter" and gives no response if done when the /p switch is used.
Removing the /p results in no AUTOEXEC.BAT being run here, although I see now that I can run it by hand. I just tried a number of times with variations such as giving config files normal attributes and putting COMMAND.COM in the root directory. In all cases there is no BAT being run without the /p switch. Put the /p back and all is good. This is MS-DOS 6.22.
OK, everything works as hoped/expected regarding the use of the SHELL command to get the redirection to a drive of choice (other than the ramdrive). The only sticking point is that I'd prefer to have the ramdrive serve as the host of the copy of command.com for transient reloading purposes. So far I haven't been able to do that.I am reasoning that if it followed the comspec command "when told", then you would not have a problem.
Anyway, I didn't see what you "told" it. Did you use the /p switch? I think you need to do that.