中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --

联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum
DOS,代表着自由开放与发展,我们努力起来,学习FreeDOS和Linux的自由开放与GNU精神,共同创造和发展美好的自由与GNU GPL世界吧!

中国DOS联盟论坛
现在时间是 2026-07-02 20:00
中国DOS联盟论坛 » DOS疑难解答 & 问题讨论 (解答室) » 求教:foxbase中的run/!command failed错误 查看 2,025 回复 17
楼 主 求教:foxbase中的run/!command failed错误 发表于 2008-11-04 20:12 ·  中国 北京 电信
初级用户
积分 51
发帖 20
注册 2008-11-04 19:02
17年会员
UID 129987
性别 男
状态 离线
我在移植一台dos6.22机器,好像时486的,现在移植成功了,但就是运行ucdos下foxbase2.1开发的软件时,有一个foxbase调用dos系统copy的命令,如 run copy *.idx a:,遇到run/! command failed 错误,好像是foxbase没找到dos命令,我把command.com拷贝到程序运行目录,就可以运行了!
难道command.com在启动时没加载到内存中吗?foxbase怎么会找不到呢??

我的config.sys文件:
set path =c:\;c:\dos;c:\ucdos\;c:\fox;
我的路径中有C 和C:\dos, 这两个目录中都有command.com呀!!怎么会不能有copy命令呢???

难道说要在autoexec.bat中

path c:\;c:\dos;c:\ucdos\;c:\fox;

请问在config.sys和autoexec.bat中设置path有何区别呢???
2 发表于 2008-11-04 21:18 ·  中国 上海 虹口区 电信
金牌会员
★★★★
积分 4,639
发帖 2,239
注册 2005-01-30 00:00
21年会员
UID 35785
性别 男
状态 离线
没区别,但是执行第二层 shell 不是按照 path 环境变量去寻找命令解释器的,而是依据 comspec 环境变量,你看看你的环境变量中有没有 comspec 这个变量名,有的话是否正确。按理说正常启动 DOS 不会丢失或有错误的 comspec ,你新的运行环境是什么。
3 发表于 2008-11-04 21:37 ·  中国 北京 电信
初级用户
积分 51
发帖 20
注册 2008-11-04 19:02
17年会员
UID 129987
性别 男
状态 离线
dos 7.10.+ucdos7+foxbase2.1+
我现在的机器是奔腾4
什么时第二层,难道时在foxbase中调用就时第二层??
4 发表于 2008-11-04 22:05 ·  中国 上海 虹口区 电信
金牌会员
★★★★
积分 4,639
发帖 2,239
注册 2005-01-30 00:00
21年会员
UID 35785
性别 男
状态 离线
不仅仅是在 foxbase 中调用系统命令或执行外部程序就叫第二层,而是所有应用程序要这样做都要调用第二层 shell ,比如 NC, QEdit, DOSSHELL, VC, DN 这样做的话都要调用第二层 shell,第一层 shell 就是你启动 DOS 后加载到内存中的命令解释器。

另外我认为像你这样的情况用移植一词好像不太确切,实际就是转移。
5 求教:DOSforever,还是关于run/!错误!! 发表于 2008-11-05 09:23 ·  中国 辽宁 大连 西岗区 联通
初级用户
积分 51
发帖 20
注册 2008-11-04 19:02
17年会员
UID 129987
性别 男
状态 离线
DOSforever,非常感谢,但我在config.sys中设置了set comspec=c:\command.com,重启机器,还是有run /! 错误。
我在foxplus 下运行自己的fxst程序,调用copy菜单就有run/!错误,但在foxbase下运行run copy 就正确,而我把command.com拷贝到fxst程序目录下,在foxplus fxst下运行copy菜单就正常了,请问为什么??
再者,移植和转移有什么区别??
谢谢,赐教!!!
6 发表于 2008-11-05 22:44 ·  中国 上海 虹口区 电信
金牌会员
★★★★
积分 4,639
发帖 2,239
注册 2005-01-30 00:00
21年会员
UID 35785
性别 男
状态 离线
按理说 comspec 不需要你专门设置。

你自己的fxst程序不知道是怎么编写的,只要 FOXBASE 自己 run 正常就说明没问题。

一般来说移植是指不同平台之间的,比如原本在非 x86 机器下运行的软件经过改写和重新编译在 x86 机器下运行,或者 UNIX 下的软件移植到在 DOS 下运行。而你的情况说白了就是 copy 。
7 再问DOSforever,关于run/!命令 发表于 2008-11-06 09:18 ·  中国 辽宁 大连 西岗区 联通
初级用户
积分 51
发帖 20
注册 2008-11-04 19:02
17年会员
UID 129987
性别 男
状态 离线
我要不拷贝 command.com命令到程序文件夹下,也不能在foxbase中运行run copy命令 ,如果拷贝了command.com命令,就可以在foxbase下运行,自然也可以直接运行foxplus fxst(自己的程序)了,这是怎么回事??
难道是内存不够,我的upper memory总共才7k
8 发表于 2008-11-06 09:54 ·  中国 福建 厦门 电信
高级用户
★★★
积分 741
发帖 366
注册 2007-07-25 19:11
18年会员
UID 94024
性别 男
状态 离线
command.com分为常驻部分和暂驻部分,如果应用程序所需内存太大或者是.com文件,那么command.com会先释放暂驻部分,然后再运行应用程序,退出应用程序后再装入暂驻部分。如果在应用程序中使用DOSSHELL功能就会要求装入暂驻部分,但此时应用程序并不会把环境变量传递过去,所以要在当前目录有command.com。
9 发表于 2008-11-07 21:39 ·  中国 上海 杨浦区 电信
金牌会员
★★★★
积分 4,639
发帖 2,239
注册 2005-01-30 00:00
21年会员
UID 35785
性别 男
状态 离线
我后来试了下,在 MS-DOS 7.10 ,不使用 CONFIG.SYS 和 AUTOEXEC.BAT ,UCDOS 7.0 ,FOXBASE 2.10+ 的环境下却无法重现你的故障,但有趣的是,如果用我一直使用的命令解释器 4DOS 却可以重现你的故障现象,而且我的 COMSPEC 没有错误,非要把 COMSPEC 的变量值改成 COMMAND.COM 才可以。难道 FOXBASE 还认 COMMAND ?
10 发表于 2008-11-13 11:32 ·  中国 辽宁 大连 西岗区 联通
初级用户
积分 51
发帖 20
注册 2008-11-04 19:02
17年会员
UID 129987
性别 男
状态 离线
“我后来试了下,在 MS-DOS 7.10 ,不使用 CONFIG.SYS 和 AUTOEXEC.BAT”
那使用什么???
我也用了comspec=c:\command.com,但还是有不把command.com拷贝到程序运行目录下就出现command 错误,为什么???
11 发表于 2008-11-13 12:42 ·  中国 上海 电信
金牌会员
★★★★
积分 4,639
发帖 2,239
注册 2005-01-30 00:00
21年会员
UID 35785
性别 男
状态 离线
不使用的意思就是使用 DOS 的缺省配置,也就是没有对内存优化。

我的不一定要是 C:\COMMAND.COM ,C:\DOS\COMMAND.COM 也可以,反正一定要是 COMMAND ,不可以是别的命令解释器,C:\4DOS.COM 也不行,奇怪就奇怪在这里。
12 发表于 2008-11-13 13:49 ·  中国 河北 保定 联通
铂金会员
★★★★
网络独行侠
积分 6,962
发帖 2,753
注册 2003-04-16 00:00
23年会员
UID 1565
性别 男
来自 河北保定
状态 离线
只能说明foxbase有bug了。
偶只喜欢回答那些标题和描述都很清晰的帖子!
如想解决问题,请认真学习“这个帖子”和“这个帖子”并努力遵守,如果可能,请告诉更多的人!
13 发表于 2008-11-14 09:38 ·  中国 辽宁 大连 西岗区 联通
初级用户
积分 51
发帖 20
注册 2008-11-04 19:02
17年会员
UID 129987
性别 男
状态 离线
但,我移植前的那台很老的计算机就好用呀,我的配置文件config.sys,autoexec.bat都跟他一样呀,不能是foxbase的bug呀
14 发表于 2008-11-16 22:12 ·  中国 上海 电信
金牌会员
★★★★
积分 4,639
发帖 2,239
注册 2005-01-30 00:00
21年会员
UID 35785
性别 男
状态 离线
你的 DOS 7.10 是哪里的呢?是 Win98 带的还是这里网站下载的?有没有试过 6.22 版的 DOS 呢?
15 发表于 2008-11-17 16:01 ·  中国 辽宁 大连 西岗区 联通
初级用户
积分 51
发帖 20
注册 2008-11-04 19:02
17年会员
UID 129987
性别 男
状态 离线
是在网上下的,做成两张软盘,从软盘启动,安装的dos7.1
论坛跳转: