中国DOS联盟论坛

中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --
联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum
游客 | 登录 | 注册 | 会员 | 搜索 | 中国DOS联盟
中国DOS联盟论坛
现在时间是 2026-09-23 13:29
47,812 主题排行 / 349,917 发帖 / 今日 0 篇 / 48,273 会员排行
DOS批处理 & 脚本技术(批处理室) » [求助]批处理文件中怎样加入能在DOS下自动输入“y"并执行回
可打印版本  3,214 / 11
第1楼 hxj 发表于 2005-04-13 00:00
中级用户 发帖 66 积分 377
[求助]批处理文件中怎样加入能在DOS下自动输入“y"并执行回
批处理文件中怎样加入能在DOS下自动输入“y"并执行回车功能的语句

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

第10楼 JonePeng 发表于 2005-04-14 00:00
金牌会员 发帖 1,883 积分 4,562 来自 广东广州
以下是引用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。
第11楼 tatami 发表于 2005-04-15 00:00
初级用户 发帖 5 积分 120
可以用输入重定向,先编辑一个文本文件内容是:Yenter然后在运行你的批处理文件后面加上“<文本文件名”就可以了,比如:format a: < zzz.txt
第12楼 siyuer 发表于 2005-04-19 00:00
初级用户 发帖 10 积分 133
以下是引用hxj在2005-4-14 20:23:44的发言:

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



不知道我引用的帖子的作者有没有在自己的机器上测试过,如果没有,可不要随便说话!
[ 联系联盟系统管理团队 - 中国DOS联盟 - 标准版 ]
Sponsored by ifanr Inc | © 2001–2023