![]() |
中国DOS联盟-- 联合DOS 推动DOS 发展DOS --联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum |
| 游客 | 登录 | 注册 | 会员 | 搜索 | 中国DOS联盟 |
|
中国DOS联盟论坛 现在时间是 2026-08-19 16:07 |
共 47,814 主题排行 / 349,908 发帖 / 今日 0 篇 / 48,259 会员排行 |
| DOS疑难解答 & 问题讨论 (解答室) » 求教:foxbase中的run/!command failed错误 |
| 可打印版本 2,100 / 17 |
| 第1楼 soslowcar | 发表于 2008-11-04 20:12 |
| 初级用户 发帖 20 积分 51 | |
|
求教:foxbase中的run/!command failed错误 我在移植一台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楼 DOSforever | 发表于 2008-11-04 21:18 |
| 金牌会员 发帖 2,239 积分 4,639 | |
|
没区别,但是执行第二层 shell 不是按照 path 环境变量去寻找命令解释器的,而是依据 comspec 环境变量,你看看你的环境变量中有没有 comspec 这个变量名,有的话是否正确。按理说正常启动 DOS 不会丢失或有错误的 comspec ,你新的运行环境是什么。
|
|
| 第3楼 soslowcar | 发表于 2008-11-04 21:37 |
| 初级用户 发帖 20 积分 51 | |
|
dos 7.10.+ucdos7+foxbase2.1+
我现在的机器是奔腾4 什么时第二层,难道时在foxbase中调用就时第二层?? |
|
| 第4楼 DOSforever | 发表于 2008-11-04 22:05 |
| 金牌会员 发帖 2,239 积分 4,639 | |
|
不仅仅是在 foxbase 中调用系统命令或执行外部程序就叫第二层,而是所有应用程序要这样做都要调用第二层 shell ,比如 NC, QEdit, DOSSHELL, VC, DN 这样做的话都要调用第二层 shell,第一层 shell 就是你启动 DOS 后加载到内存中的命令解释器。
另外我认为像你这样的情况用移植一词好像不太确切,实际就是转移。 |
|
| 第5楼 soslowcar | 发表于 2008-11-05 09:23 |
| 初级用户 发帖 20 积分 51 | |
|
求教:DOSforever,还是关于run/!错误!! DOSforever,非常感谢,但我在config.sys中设置了set comspec=c:\command.com,重启机器,还是有run /! 错误。
我在foxplus 下运行自己的fxst程序,调用copy菜单就有run/!错误,但在foxbase下运行run copy 就正确,而我把command.com拷贝到fxst程序目录下,在foxplus fxst下运行copy菜单就正常了,请问为什么?? 再者,移植和转移有什么区别?? 谢谢,赐教!!! |
|
| 第6楼 DOSforever | 发表于 2008-11-05 22:44 |
| 金牌会员 发帖 2,239 积分 4,639 | |
|
按理说 comspec 不需要你专门设置。
你自己的fxst程序不知道是怎么编写的,只要 FOXBASE 自己 run 正常就说明没问题。 一般来说移植是指不同平台之间的,比如原本在非 x86 机器下运行的软件经过改写和重新编译在 x86 机器下运行,或者 UNIX 下的软件移植到在 DOS 下运行。而你的情况说白了就是 copy 。 |
|
| 第7楼 soslowcar | 发表于 2008-11-06 09:18 |
| 初级用户 发帖 20 积分 51 | |
|
再问DOSforever,关于run/!命令 我要不拷贝 command.com命令到程序文件夹下,也不能在foxbase中运行run copy命令 ,如果拷贝了command.com命令,就可以在foxbase下运行,自然也可以直接运行foxplus fxst(自己的程序)了,这是怎么回事??
难道是内存不够,我的upper memory总共才7k |
|
| 第8楼 netwinxp | 发表于 2008-11-06 09:54 |
| 高级用户 发帖 366 积分 741 | |
|
command.com分为常驻部分和暂驻部分,如果应用程序所需内存太大或者是.com文件,那么command.com会先释放暂驻部分,然后再运行应用程序,退出应用程序后再装入暂驻部分。如果在应用程序中使用DOSSHELL功能就会要求装入暂驻部分,但此时应用程序并不会把环境变量传递过去,所以要在当前目录有command.com。
|
|
| 第9楼 DOSforever | 发表于 2008-11-07 21:39 |
| 金牌会员 发帖 2,239 积分 4,639 | |
|
我后来试了下,在 MS-DOS 7.10 ,不使用 CONFIG.SYS 和 AUTOEXEC.BAT ,UCDOS 7.0 ,FOXBASE 2.10+ 的环境下却无法重现你的故障,但有趣的是,如果用我一直使用的命令解释器 4DOS 却可以重现你的故障现象,而且我的 COMSPEC 没有错误,非要把 COMSPEC 的变量值改成 COMMAND.COM 才可以。难道 FOXBASE 还认 COMMAND ?
|
|
| 第10楼 soslowcar | 发表于 2008-11-13 11:32 |
| 初级用户 发帖 20 积分 51 | |
|
“我后来试了下,在 MS-DOS 7.10 ,不使用 CONFIG.SYS 和 AUTOEXEC.BAT”
那使用什么??? 我也用了comspec=c:\command.com,但还是有不把command.com拷贝到程序运行目录下就出现command 错误,为什么??? |
|
| 第11楼 DOSforever | 发表于 2008-11-13 12:42 |
| 金牌会员 发帖 2,239 积分 4,639 | |
|
不使用的意思就是使用 DOS 的缺省配置,也就是没有对内存优化。
我的不一定要是 C:\COMMAND.COM ,C:\DOS\COMMAND.COM 也可以,反正一定要是 COMMAND ,不可以是别的命令解释器,C:\4DOS.COM 也不行,奇怪就奇怪在这里。 |
|
| 第12楼 Climbing | 发表于 2008-11-13 13:49 |
| 铂金会员 发帖 2,753 积分 6,962 来自 河北保定 | |
|
只能说明foxbase有bug了。
|
|
| 第13楼 soslowcar | 发表于 2008-11-14 09:38 |
| 初级用户 发帖 20 积分 51 | |
|
但,我移植前的那台很老的计算机就好用呀,我的配置文件config.sys,autoexec.bat都跟他一样呀,不能是foxbase的bug呀
|
|
| 第14楼 DOSforever | 发表于 2008-11-16 22:12 |
| 金牌会员 发帖 2,239 积分 4,639 | |
|
你的 DOS 7.10 是哪里的呢?是 Win98 带的还是这里网站下载的?有没有试过 6.22 版的 DOS 呢?
|
|
| 第15楼 soslowcar | 发表于 2008-11-17 16:01 |
| 初级用户 发帖 20 积分 51 | |
|
是在网上下的,做成两张软盘,从软盘启动,安装的dos7.1
|
|
| 1 2 下一页 |
|
[ 联系联盟系统管理团队 -
中国DOS联盟 -
标准版 ] Sponsored by ifanr Inc | © 2001–2023 |