中国DOS联盟论坛

China DOS Union

-- Unite DOS · Advance DOS · Grow DOS --
Union site: www.cn-dos.net Forum site: www.cn-dos.net/forum
Guest | Log in | Register | Members | Search | China DOS Union
中国DOS联盟论坛
The time now is 2026-08-19 15:23
47,814 topics / 349,908 posts / today 0 new / 48,259 members
DOS疑难解答 & 问题讨论 (解答室) » Seeking help: run/!command failed error in FoxBASE
Printable Version  2,094 / 17
Floor1 soslowcar Posted 2008-11-04 20:12
初级用户 Posts 20 Credits 51
I'm transplanting a DOS 6.22 machine, it seems to be a 486. Now the transplantation is successful, but when running software developed with FoxBASE 2.1 under UCDOS, there is a FoxBASE calling the DOS system copy command, such as run copy *.idx a:, and there is an error of run/! command failed. It seems that FoxBASE can't find the DOS command. I copied command.com to the program running directory, and then it can run!

Is it that command.com is not loaded into memory at startup? Why can't FoxBASE find it?

My config.sys file:
set path =c:\;c:\dos;c:\ucdos\;c:\fox;
There are C and C:\dos in my path, and there are command.com in both directories! Why can't there be the copy command???

Could it be that in autoexec.bat
write
path c:\;c:\dos;c:\ucdos\;c:\fox;

May I ask what is the difference between setting path in config.sys and autoexec.bat???
Floor2 DOSforever Posted 2008-11-04 21:18
金牌会员 Posts 2,239 Credits 4,639
There is no difference, but when executing the second - layer shell, it does not look for the command interpreter according to the path environment variable, but according to the comspec environment variable. Let's see if there is the variable name comspec in your environment variables. If there is, is it correct? Normally, the DOS startup should not lose or have incorrect comspec. What is your new running environment?
Floor3 soslowcar Posted 2008-11-04 21:37
初级用户 Posts 20 Credits 51
dos 7.10.+ucdos7+foxbase2.1+
My current machine is Pentium 4
What is the second layer? Does it mean that calling in FoxBase is the second layer?
Floor4 DOSforever Posted 2008-11-04 22:05
金牌会员 Posts 2,239 Credits 4,639
Not only is calling system commands or executing external programs in foxbase called the second layer, but all applications that do so need to call the second-layer shell. For example, NC, QEdit, DOSSHELL, VC, DN, etc., when doing so, all need to call the second-layer shell. The first-layer shell is the command interpreter loaded into memory after you start DOS.

In addition, I think the term "port" seems not quite accurate in your case. Actually, it is relocation.
Floor5 soslowcar Posted 2008-11-05 09:23
初级用户 Posts 20 Credits 51
DOSforever, thank you very much, but I set set comspec=c:\command.com in config.sys, restarted the machine, and there was still the run /! error.
I run my own fxst program under foxplus, and there is a run/! error when calling the copy menu, but it is correct when running run copy under foxbase, and I copied command.com to the fxst program directory, and it is normal when running the copy menu under foxplus fxst, why?
Moreover, what is the difference between porting and transferring??
Thank you, please enlighten me!!!
Floor6 DOSforever Posted 2008-11-05 22:44
金牌会员 Posts 2,239 Credits 4,639
Normally, you don't need to set comspec specifically.

I don't know how your own fxst program is written. As long as FOXBASE runs normally by itself, it means there's no problem.

Generally speaking, porting refers to between different platforms, such as software originally running on non-x86 machines being rewritten and recompiled to run on x86 machines, or software under UNIX being ported to run under DOS. And your situation is simply copying.
Floor7 soslowcar Posted 2008-11-06 09:18
初级用户 Posts 20 Credits 51
If I don't copy the command.com command to the program folder, and I can't run the run copy command in foxbase. If I copy the command.com command, then I can run it in foxbase, and naturally I can directly run foxplus fxst (my own program). What's the matter? Is it because there is not enough memory? My upper memory is only 7k in total
Floor8 netwinxp Posted 2008-11-06 09:54
高级用户 Posts 366 Credits 741
command.com is divided into resident part and transient part. If the application requires too much memory or is a.com file, command.com will first release the transient part, then run the application. After exiting the application, it will reload the transient part. If the DOSSHELL function is used in the application, it will require loading the transient part, but at this time the application will not pass the environment variables, so there must be command.com in the current directory.
Floor9 DOSforever Posted 2008-11-07 21:39
金牌会员 Posts 2,239 Credits 4,639
I tried later. In MS-DOS 7.10, without using CONFIG.SYS and AUTOEXEC.BAT, under the environment of UCDOS 7.0 and FOXBASE 2.10+, I couldn't reproduce your fault. But interestingly, if I use the command interpreter 4DOS that I've been using, I can reproduce your fault phenomenon, and my COMSPEC is not in error. I have to change the value of the COMSPEC variable to COMMAND.COM to do so. Does FOXBASE still recognize COMMAND?
Floor10 soslowcar Posted 2008-11-13 11:32
初级用户 Posts 20 Credits 51
"I tried later. In MS-DOS 7.10, without using CONFIG.SYS and AUTOEXEC.BAT"
Then what to use???
I also used comspec=c:\command.com, but there is still a command error if command.com is not copied to the program running directory. Why???
Floor11 DOSforever Posted 2008-11-13 12:42
金牌会员 Posts 2,239 Credits 4,639
Not using means using the default configuration of DOS, that is, no memory optimization.

Mine doesn't have to be C:\COMMAND.COM, C:\DOS\COMMAND.COM is also okay, anyway, it must be COMMAND, not other command interpreters, C:\4DOS.COM is also not okay, the strangeness is here.
Floor12 Climbing Posted 2008-11-13 13:49
铂金会员 Posts 2,753 Credits 6,962 From 河北保定
It can only indicate that there is a bug in FoxBase.
Floor13 soslowcar Posted 2008-11-14 09:38
初级用户 Posts 20 Credits 51
But, the very old computer before my porting works well. My configuration files config.sys and autoexec.bat are the same as his. It can't be a bug of FoxBase.
Floor14 DOSforever Posted 2008-11-16 22:12
金牌会员 Posts 2,239 Credits 4,639
Where did you get your DOS 7.10? Is it from Win98 or downloaded from this website? Have you ever tried the 6.22 version of DOS?
Floor15 soslowcar Posted 2008-11-17 16:01
初级用户 Posts 20 Credits 51
It was downloaded online, made into two floppy disks, booted from the floppy disk, and installed DOS 7.1.
1 2  Next
[ Contact the Union admin team - 中国DOS联盟 - Standard version ]
Sponsored by ifanr Inc | © 2001–2023