中国DOS联盟

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

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

中国DOS联盟论坛
现在时间是 2026-08-01 00:59
中国DOS联盟论坛 » DOS开发编程 & 发展交流 (开发室) » 如何在c语言中调用dos系统命令时不显示命令行? 查看 2,000 回复 12
楼 主 如何在c语言中调用dos系统命令时不显示命令行? 发表于 2003-08-05 00:00 ·  中国 浙江 杭州 电信
初级用户
积分 121
发帖 5
注册 2003-07-31 00:00
23年会员
UID 7842
性别 男
状态 离线
在c语言中,用execl调用dos下另外一个应用程序时,会有命令行显示,怎么才能让那些信息不显示出来?
就象用sys函数调用copy命令时,屏幕会显示 *** file copied ,怎么才能不显示这句话
2 发表于 2003-08-06 00:00 ·  美国 肯塔基州 费耶特县 列克星敦 Charter_Communications
系统支持
★★★★★★
“新DOS时代”站长
积分 27,736
发帖 10,521
注册 2002-10-09 12:00
23年会员
UID 9
状态 离线
后面加入“>nul”试试吧。。
Wengier - 新DOS时代

欢迎大家来到我的“新DOS时代”网站,里面有各类DOS软件和资料,地址:
http://wendos.mycool.net/

E-Mail & MSN: wengierwu AT hotmail.com (最近比较忙,有事请联系DOSroot和雨露,谢谢!)

3 发表于 2003-08-07 00:00 ·  中国 浙江 杭州 电信
初级用户
积分 121
发帖 5
注册 2003-07-31 00:00
23年会员
UID 7842
性别 男
状态 离线
试过了。不行。谢谢你了
4 发表于 2003-08-09 00:00 ·  中国 上海 电信
初级用户
积分 106
发帖 1
注册 2003-07-26 00:00
23年会员
UID 7571
性别 男
状态 离线
用echo
5 发表于 2003-08-10 00:00 ·  中国 陕西 西安 教育网
高级用户
★★
OS/2女孩
积分 639
发帖 183
注册 2003-06-14 00:00
23年会员
UID 5148
性别 女
状态 离线
DOS 7.1下用ECHO, 那可以把system("copy xxx"时的COPY XXX去掉.
用system("copy xxx >nul"; 应该会把falied.....那句话去掉.
exec的调用没试过.

还有一种情况,就是你使用的是DJGPP编译的EXE文件. 它的重定向和普通
DOS程序不太一样,试试 用system("XXX XXX >>NUL"来重定向.不行了
再来问.实在不行你把你要调用的东西发过来,我试好了再发源码给你.
REM 喜欢DOS,因为它的简单
REM 喜欢OS/2,因为它不再矫饰
REM 喜欢BASIC,因为它并不幼稚
REM 喜欢GNU,因为它杂乱无章
6 发表于 2003-08-10 00:00 ·  中国 陕西 西安 教育网
高级用户
★★
OS/2女孩
积分 639
发帖 183
注册 2003-06-14 00:00
23年会员
UID 5148
性别 女
状态 离线
对了,忘问了.你用的DOS版本是?编译系统是?
REM 喜欢DOS,因为它的简单
REM 喜欢OS/2,因为它不再矫饰
REM 喜欢BASIC,因为它并不幼稚
REM 喜欢GNU,因为它杂乱无章
7 发表于 2003-08-11 00:00 ·  中国 浙江 杭州 电信
初级用户
积分 121
发帖 5
注册 2003-07-31 00:00
23年会员
UID 7842
性别 男
状态 离线
我用的ms-dos6.22。是不是一定要用dos7.1的?
我调用的是一个别人做的应用程序,是用于dos下ftp上传的。
8 发表于 2003-08-12 00:00 ·  中国 湖北 武汉 联通
银牌会员
★★★
积分 1,681
发帖 512
注册 2003-08-02 00:00
22年会员
UID 7953
性别 男
状态 离线
“>” 和 “>>” 是管道符号,只能重定向程序输出,而类似“Bad command or file name” 之类的系统提示则无能为力。
Somehow somewhere I've got to choose.
No matter if it is win or lose.
9 发表于 2003-08-17 00:00 ·  中国 陕西 西安 教育网
高级用户
★★
OS/2女孩
积分 639
发帖 183
注册 2003-06-14 00:00
23年会员
UID 5148
性别 女
状态 离线
在ECHO OFF的前提下,把管道加上去。一切将会寂静无比。呵呵。。。。
REM 喜欢DOS,因为它的简单
REM 喜欢OS/2,因为它不再矫饰
REM 喜欢BASIC,因为它并不幼稚
REM 喜欢GNU,因为它杂乱无章
10 发表于 2003-08-17 00:00 ·  中国 安徽 滁州 天长市 电信
银牌会员
★★★
积分 1,835
发帖 648
注册 2002-11-08 00:00
23年会员
UID 197
性别 男
状态 离线
以下是引用iceboy在2003-8-12 14:55:36的发言:
“>” 和 “>>” 是管道符号,只能重定向程序输出,而类似“Bad command or file name” 之类的系统提示则无能为力。

还有程序的错误信息也是不可以重定向的,例如:

C:\>copy a.txt d:\ >nul
File not found - a.txt

这个是我从DOS窗口里复制出来的
11 发表于 2003-08-18 00:00 ·  中国 陕西 西安 电信
高级用户
★★
OS/2女孩
积分 639
发帖 183
注册 2003-06-14 00:00
23年会员
UID 5148
性别 女
状态 离线
恩,没错。可是在,和EXEC()调用下。
真的是寂静无比啊。

我们又不是在讨论管道,是在讨论 “编程中的管道使用”

讨论是要针对楼主的问题的哦!!
REM 喜欢DOS,因为它的简单
REM 喜欢OS/2,因为它不再矫饰
REM 喜欢BASIC,因为它并不幼稚
REM 喜欢GNU,因为它杂乱无章
12 发表于 2003-08-18 00:00 ·  中国 陕西 西安 电信
高级用户
★★
OS/2女孩
积分 639
发帖 183
注册 2003-06-14 00:00
23年会员
UID 5148
性别 女
状态 离线
哎,你DOS6。22和DOS7,那倒无所谓。。。。。。。。。

你把程序直接发给我,我在最流行的编译系统上都试一遍。不就好了??
我才你用的是TROUB C吧?或者是BC?

如果是使用BC,还可以重定向ERROR输出,用C++流来实现。方法多的很。
REM 喜欢DOS,因为它的简单
REM 喜欢OS/2,因为它不再矫饰
REM 喜欢BASIC,因为它并不幼稚
REM 喜欢GNU,因为它杂乱无章
13 发表于 2003-08-18 00:00 ·  中国 安徽 滁州 天长市 电信
银牌会员
★★★
积分 1,835
发帖 648
注册 2002-11-08 00:00
23年会员
UID 197
性别 男
状态 离线
以下是引用lemonhall在2003-8-18 11:34:57的发言:
恩,没错。可是在,和EXEC()调用下。
真的是寂静无比啊。

我们又不是在讨论管道,是在讨论 “编程中的管道使用”

讨论是要针对楼主的问题的哦!!

呵呵,不好意思啊:)我忘了是在编程区了
论坛跳转: