China DOS Union

-- Unite DOS · Advance DOS · Grow DOS --

Union site: www.cn-dos.net Forum site: www.cn-dos.net/forum
DOS stands for freedom, openness and progress. Let us work hard, learn from the openness and GNU spirit of FreeDOS and Linux, and together build and grow a free GNU GPL world!

中国DOS联盟论坛
The time now is 2026-07-02 21:41
中国DOS联盟论坛 » DOS疑难解答 & 问题讨论 (解答室) » Seeking help: run/!command failed error in FoxBASE View 2,026 Replies 17
Original Poster Posted 2008-11-04 20:12 ·  中国 北京 电信
初级用户
Credits 51
Posts 20
Joined 2008-11-04 19:02
17-year member
UID 129987
Gender Male
Status Offline
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???
Floor 2 Posted 2008-11-04 21:18 ·  中国 上海 虹口区 电信
金牌会员
★★★★
Credits 4,639
Posts 2,239
Joined 2005-01-30 00:00
21-year member
UID 35785
Gender Male
Status Offline
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?
Floor 3 Posted 2008-11-04 21:37 ·  中国 北京 电信
初级用户
Credits 51
Posts 20
Joined 2008-11-04 19:02
17-year member
UID 129987
Gender Male
Status Offline
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?
Floor 4 Posted 2008-11-04 22:05 ·  中国 上海 虹口区 电信
金牌会员
★★★★
Credits 4,639
Posts 2,239
Joined 2005-01-30 00:00
21-year member
UID 35785
Gender Male
Status Offline
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.
Floor 5 Posted 2008-11-05 09:23 ·  中国 辽宁 大连 西岗区 联通
初级用户
Credits 51
Posts 20
Joined 2008-11-04 19:02
17-year member
UID 129987
Gender Male
Status Offline
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!!!
Floor 6 Posted 2008-11-05 22:44 ·  中国 上海 虹口区 电信
金牌会员
★★★★
Credits 4,639
Posts 2,239
Joined 2005-01-30 00:00
21-year member
UID 35785
Gender Male
Status Offline
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.
Floor 7 Posted 2008-11-06 09:18 ·  中国 辽宁 大连 西岗区 联通
初级用户
Credits 51
Posts 20
Joined 2008-11-04 19:02
17-year member
UID 129987
Gender Male
Status Offline
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
Floor 8 Posted 2008-11-06 09:54 ·  中国 福建 厦门 电信
高级用户
★★★
Credits 741
Posts 366
Joined 2007-07-25 19:11
18-year member
UID 94024
Gender Male
Status Offline
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.
Floor 9 Posted 2008-11-07 21:39 ·  中国 上海 杨浦区 电信
金牌会员
★★★★
Credits 4,639
Posts 2,239
Joined 2005-01-30 00:00
21-year member
UID 35785
Gender Male
Status Offline
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?
Floor 10 Posted 2008-11-13 11:32 ·  中国 辽宁 大连 西岗区 联通
初级用户
Credits 51
Posts 20
Joined 2008-11-04 19:02
17-year member
UID 129987
Gender Male
Status Offline
"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???
Floor 11 Posted 2008-11-13 12:42 ·  中国 上海 电信
金牌会员
★★★★
Credits 4,639
Posts 2,239
Joined 2005-01-30 00:00
21-year member
UID 35785
Gender Male
Status Offline
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.
Floor 12 Posted 2008-11-13 13:49 ·  中国 河北 保定 联通
铂金会员
★★★★
网络独行侠
Credits 6,962
Posts 2,753
Joined 2003-04-16 00:00
23-year member
UID 1565
Gender Male
From 河北保定
Status Offline
It can only indicate that there is a bug in FoxBase.
偶只喜欢回答那些标题和描述都很清晰的帖子!
如想解决问题,请认真学习“这个帖子”和“这个帖子”并努力遵守,如果可能,请告诉更多的人!
Floor 13 Posted 2008-11-14 09:38 ·  中国 辽宁 大连 西岗区 联通
初级用户
Credits 51
Posts 20
Joined 2008-11-04 19:02
17-year member
UID 129987
Gender Male
Status Offline
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.
Floor 14 Posted 2008-11-16 22:12 ·  中国 上海 电信
金牌会员
★★★★
Credits 4,639
Posts 2,239
Joined 2005-01-30 00:00
21-year member
UID 35785
Gender Male
Status Offline
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?
Floor 15 Posted 2008-11-17 16:01 ·  中国 辽宁 大连 西岗区 联通
初级用户
Credits 51
Posts 20
Joined 2008-11-04 19:02
17-year member
UID 129987
Gender Male
Status Offline
It was downloaded online, made into two floppy disks, booted from the floppy disk, and installed DOS 7.1.
Forum Jump: