中国DOS联盟

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

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

中国DOS联盟论坛
现在时间是 2026-07-01 21:39
中国DOS联盟论坛 » DOS疑难解答 & 问题讨论 (解答室) » 函数如何支持管道-DOS与高级语言的交互问题 查看 823 回复 5
楼 主 函数如何支持管道-DOS与高级语言的交互问题 发表于 2007-10-27 21:41 ·  中国 上海 长宁区 电信
初级用户
★★
积分 184
发帖 73
注册 2007-05-24 18:06
19年会员
UID 89185
性别 男
状态 离线
我们知道
dir /b | findstr "\.txt$"

是打印当前目录的.txt文件

我也想写一个程序my_find.exe(用高级语言,比如c,c++,java,c#)
我也想这样用
dir /b | my_find "\.txt$"

来实现跟上面findstr一样的功能.

可以吗?

[ Last edited by sinbao on 2007-10-28 at 07:54 PM ]
2 发表于 2007-10-28 10:37 ·  中国 上海 闵行区 电信
初级用户
★★
积分 184
发帖 73
注册 2007-05-24 18:06
19年会员
UID 89185
性别 男
状态 离线
有人吗?
3 发表于 2007-10-28 12:52 ·  中国 广东 深圳 英达通信
初级用户
积分 52
发帖 20
注册 2007-10-25 14:22
18年会员
UID 100747
性别 男
状态 离线
set my_find="c:\windows\findstr.exe"
echo .b | my_find ".\txt$"
4 发表于 2007-10-28 19:53 ·  中国 上海 闵行区 电信
初级用户
★★
积分 184
发帖 73
注册 2007-05-24 18:06
19年会员
UID 89185
性别 男
状态 离线
my_find.exe是我自己用c#或其他高级语言写的程序,不是findstr.exe...

问题是管道把东西传给我的程序my_find.exe之后,我的程序从哪里把这个东西拿到???
5 发表于 2007-10-31 11:47 ·  中国 广东 江门 新会区 电信
初级用户
★★
积分 117
发帖 57
注册 2007-10-23 20:57
18年会员
UID 100584
性别 男
状态 离线
从管道输入就是从标准的输入设备输入
往管道输出就是往标准的输出设备输出

c#不会用,用basic试验:
do
do:y$=inkey$:loop until y$<>""
print "---";y$
loop
以上代码编译成1.exe
再建立一个测试文件:
copy con 2.txt
Test!
^Z

执行:
type 2.txt | 1

屏幕输出:
---T
---e
---s
---t
---!

OK,试验成功。
6 发表于 2007-11-03 22:02 ·  中国 上海 闵行区 电信
初级用户
★★
积分 184
发帖 73
注册 2007-05-24 18:06
19年会员
UID 89185
性别 男
状态 离线
jojand, I got it, thanks!
论坛跳转: