中国DOS联盟

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

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

中国DOS联盟论坛
现在时间是 2026-08-01 13:24
中国DOS联盟论坛 » DOS批处理 & 脚本技术(批处理室) » [求助]批处理文件中怎样加入能在DOS下自动输入“y"并执行回 查看 3,050 回复 11
楼 主 [求助]批处理文件中怎样加入能在DOS下自动输入“y"并执行回 发表于 2005-04-13 00:00 ·  中国 上海 东方有线
中级用户
★★
积分 377
发帖 66
注册 2005-04-04 00:00
21年会员
UID 37817
性别 男
状态 离线
批处理文件中怎样加入能在DOS下自动输入“y"并执行回车功能的语句

我要在批处理文件中加入 能在DOS下自动输入“y",并执行回车 功能,应写入怎样的语句? 请斑竹和高手们指点,谢谢了!
2 发表于 2005-04-13 00:00 ·  中国 广东 广州 教育网
金牌会员
★★★★
D◎$ Fαп
积分 4,562
发帖 1,883
注册 2004-01-19 00:00
22年会员
UID 15812
性别 男
来自 广东广州
状态 离线
如:echo y | del *.*
----====≡≡≡≡ 我的至爱,永远是MSDOS!≡≡≡≡====----
3 发表于 2005-04-13 00:00 ·  中国 上海 东方有线
中级用户
★★
积分 377
发帖 66
注册 2005-04-04 00:00
21年会员
UID 37817
性别 男
状态 离线
2楼,我试了不行!还有你的 del *.* 却 把我软盘里东东全消灭光了!!!我的问题是这样的,我用dos盘启动后显示一程序的LOGO图并给出"yes"or"no"选择,我想在批处理文件中加入能自动自动输入“y",并执行回车,这样就可自动继续下面程序启动DOS了。不知还有其它什么好方法吗?
4 发表于 2005-04-14 00:00 ·  中国 江苏 南京 电信
初级用户
积分 133
发帖 10
注册 2005-01-16 00:00
21年会员
UID 35376
性别 男
状态 离线
choice 命令choice 或者choice /c:yn或者你也可以自己用C语言自己编写一个这样的命令,用汇编应该也可以,我没试过。C语言中有一个专门的用于DOS/WINDOWS的函数支持这种做法。
5 发表于 2005-04-14 00:00 ·  中国 上海 东方有线
中级用户
★★
积分 377
发帖 66
注册 2005-04-04 00:00
21年会员
UID 37817
性别 男
状态 离线
楼上的办法我也想到过,但choice,只会给出yn选择,仍要手动输入y才行,这就达不到我"自动在DOS下输入y并执行回车“的目标了。而且我试过,到程序出现"y"or"no"行选择后就停住了,不再执行choice命令。
6 发表于 2005-04-14 00:00 ·  中国 湖南 长沙 电信
高级用户
★★
积分 772
发帖 273
注册 2004-10-23 00:00
21年会员
UID 32861
性别 男
状态 离线
哈哈~~好笑~~楼主好可爱
http://www.msfans.net/bbs/
7 发表于 2005-04-14 00:00 ·  中国 江苏 南京 电信
初级用户
积分 133
发帖 10
注册 2005-01-16 00:00
21年会员
UID 35376
性别 男
状态 离线
呵呵,这样呀,自动输入y并回车执行,就根本无需判断,直接执行就可以了,echo ?Ycommand^_^
8 发表于 2005-04-14 00:00 ·  中国 江苏 南京 电信
初级用户
积分 133
发帖 10
注册 2005-01-16 00:00
21年会员
UID 35376
性别 男
状态 离线
或者象2楼说的那样echo y | choice
9 发表于 2005-04-14 00:00 ·  中国 上海 东方有线
中级用户
★★
积分 377
发帖 66
注册 2005-04-04 00:00
21年会员
UID 37817
性别 男
状态 离线
各位大虾,还是看看DOS之家站长的结论吧:
除非提前加载TSR,否则无法实现。因为每个程序执行过程中必须有外来的干预才能中断,中断有两种,一种是用键盘等输入输出设备,一种就是监控程序(驻留程序,英语TSR)在一定条件下触发。
----------------------------------------------
DOS之家 站长 葛明阳
http://doshome.com
我死心了,不再在批处理里做文章了,不过还是要谢谢各位大吓们的热心指点!
对了,楼上的方法,命令根本不执行,因为程序到出现LOGO和“y"or"n"时就停住了等你手工输入"y",不再执行你的命令。

10 发表于 2005-04-14 00:00 ·  中国 广东 广州 海珠区 电信
金牌会员
★★★★
D◎$ Fαп
积分 4,562
发帖 1,883
注册 2004-01-19 00:00
22年会员
UID 15812
性别 男
来自 广东广州
状态 离线
以下是引用hxj在2005-4-13 22:03:58的发言:

2楼,我试了不行!还有你的 del *.* 却 把我软盘里东东全消灭光了!!!
我的问题是这样的,我用dos盘启动后显示一程序的LOGO图并给出"yes"or"no"选择,我想在批处理文件中加入能自动自动输入“y",并执行回车,这样就可自动继续下面程序启动DOS了。不知还有其它什么好方法吗?


呵呵,由于你事先没有说清楚问题,我只是用del来举例子来示范一下而已,并没有要你把整句照抄。
DOS站长葛阳明的结论是有道理,但不一定非得用TSR不可。MSDOS 7.1启动盘上的Kpush小程序就是一个很好的可设置键盘缓冲区的东东,活用它就可以实现楼主的目的。如:批处理里执行选择Y or N 的语句之前先运行kpush y。
----====≡≡≡≡ 我的至爱,永远是MSDOS!≡≡≡≡====----
11 发表于 2005-04-15 00:00 ·  中国 上海 杨浦区 电信
初级用户
积分 120
发帖 5
注册 2005-04-12 00:00
21年会员
UID 38092
性别 男
状态 离线
可以用输入重定向,先编辑一个文本文件内容是:Yenter然后在运行你的批处理文件后面加上“<文本文件名”就可以了,比如:format a: < zzz.txt
12 发表于 2005-04-19 00:00 ·  中国 江苏 南京 电信
初级用户
积分 133
发帖 10
注册 2005-01-16 00:00
21年会员
UID 35376
性别 男
状态 离线
以下是引用hxj在2005-4-14 20:23:44的发言:

各位大虾,还是看看DOS之家站长的结论吧:
除非提前加载TSR,否则无法实现。因为每个程序执行过程中必须有外来的干预才能中断,中断有两种,一种是用键盘等输入输出设备,一种就是监控程序(驻留程序,英语TSR)在一定条件下触发。
----------------------------------------------
DOS之家 站长 葛明阳
http://doshome.com
我死心了,不再在批处理里做文章了,不过还是要谢谢各位大吓们的热心指点!
对了,楼上的方法,命令根本不执行,因为程序到出现LOGO和“y"or"n"时就停住了等你手工输入"y",不再执行你的命令。



不知道我引用的帖子的作者有没有在自己的机器上测试过,如果没有,可不要随便说话!
论坛跳转: