Hi,

set /p is a Windows NT feature of CMD.EXE. It was not available in MS-DOS or 
Windows 9x. 

I even double checked on my Win98 VM and my Win ME VM before I wrote this. 
(Don’t ask why I have those. Just don’t). I get “Syntax Error” in both Windows 
98 and Windows ME.

It was nice of whomever wrote FreeCOM to include that Windows NT command 
interpreter function. I never tested it, but did they also include Delayed 
Expansion and IF (…) ELSE (…) and stuff like %~dpn0?

If the utilities are small as you say, then building a custom FreeCOM with them 
built in would allow your programs to pass the information without necessarily 
using the environment. 

So assuming your install script always works under FreeCOM, you have guarantees 
that set /p is there. Assuming it is running under Microsoft’s COMMAND.COM 
<http://command.com/> on MS-DOS, you won’t have set /p and your script will 
fail at stage 7.


If your installer, still using the same batch file, was spawned in a custom 
command shell, (or FreeCOM), than you can guarantee what you need will be 
there. 

Regarding finding the master environment, in order for FreeDOS to maintain 
compatibility with MS-DOS and the all the abandoned DOS software out there, 
FreeDOS has to implement SysVars, commonly called the List of Lists. This list 
can’t change it’s structure because by doing so, many DOS applications won’t be 
able to run because a lot of them depend on this “undocumented” (by Microsoft) 
structure.

I’m not trying to pick a part your program, just trying to point you to a 
hopefully better implementation. Jim wants a batch file, you have these power 
tools, why not build them into the interpreter as internal commands? You 
implement the same code minus the startup functions and you can probably create 
a “V8” area in DOS memory where the utilities communicate since they are a part 
of the command shell. 

This precludes using the environment as you can create an in memory “structure” 
that they can manipulate.


<snip>
------------------------------------------------------------------------------
_______________________________________________
Freedos-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/freedos-devel

Reply via email to