如何把.bat的运行结果返回给c程序

如何把.bat的运行结果返回给c程序,第1张

不好说 最好使用管亮乱道,需要创建进程cmd.exe 制定输出管道,这样cmd执坦咐行脚本的结果都会发给管道,但有些自己带AllocConsole的就让键纯会出现控制台,所以不能完美解决

与Unix/Linux 一样,DOS使用三个通用的“文件流”来进行输入,输出文陆庆本信息或者错误信息。程序或者脚本使用标准输入文件(stdin)读取内容,标准输出(stdout)输出文件或者打印文本到屏幕上,标准错误(stderr)输出错误信息到屏幕上。

这三个标准文件(也称为标准流)使用数字 0,1,2 进行标记。标准输入是文件0,标准输出是文件1,标准错误是文件2。下文中的文件流重定向会用到这三个数字。

批处理脚本经常需要把一些程序的日志输出的一个文本文件。 > *** 作符可以将标准输出或者错误重定向到一个文件。比如,列稿咐出当前目录下的文件信息,并存储到一个文本文件,可以这么 *** 作:

> *** 作符会覆盖目标文件的内容, >> *** 作符则是将内容追加至文件末。

默认情况下, >、 >> 是将标准输出重定向。 也可以在 *** 作符前加上 2 (注意没有空格) 来重定向标准错误。

也可以通过 >&运算符,将标准输出、错误相互转换。 例如,将标准输出转为异常来输出到 error.txt

通过几个例子看下, 将下边的内容保存为 test.cmd

使用 < 运算符可以将文件内容读入程序或者脚本。例如:

SomeFile.txt 的内容为:

result.txt 的内容为:

NUL 是一个虚拟的设备(文件),将 stdout 重定向到 NUL ,则会丢弃标准输出。例如:

屏幕上不会输出任何内容。在比如屏蔽掉错误输出,以上文中的 test.cmd 脚本为例,

只输出了 Hello, 错误的内容并没有输出。

如果要把一条命令的输出作为另外一条命令的输入,可以借助 | *** 作符来完成。例如将当前目录下的文件排序:

倒序:

有个技巧可以在命令提示符窗口中创建文本文件或者脚本,通过 CON 将命令提示符自己的输入重定向到一个文件。输入完成后需要按下 Ctrl + C , 发送一个结束符(EOF)。键悉纯

类似的技巧还有许多,比如新建一个空文本:

在DOS上还有一些其他的特殊设备可以重定向,但是大多数有点类似于LPT1(用于并行端口打印机)和COM1(用于串口设备,如调制解调器)。

打开命令提示符前猛窗口(也就是DOS窗口),输入path回车,会出现多个用分号分隔的路径,把你的bat文件复制到其中的任何一个路径(比皮正如c:\windows),那么你在运行中就可以直接输入慧握桥bat的名称即可运行它。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/12556809.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-26
下一篇 2023-05-26

发表评论

登录后才能评论

评论列表(0条)

保存