中国DOS联盟论坛

中国DOS联盟

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

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

游客:  注册 | 登录 | 命令行 | 会员 | 搜索 | 上传 | 帮助 »
中国DOS联盟论坛 » DOS批处理 & 脚本技术(批处理室) » 【求助】关于批处理下程序执行过程中如何提供输入
作者:
标题: 【求助】关于批处理下程序执行过程中如何提供输入 上一主题 | 下一主题
siyuer
初级用户




积分 133
发帖 10
注册 2005-1-16
状态 离线
『楼 主』:  【求助】关于批处理下程序执行过程中如何提供输入

各位大大:
      我写了一个测试程序(passwd),功能是这样的:
      在dos下键入程序名passwd,会要求输入密码:
             Please input the password:
      然后需要通过键盘输入password才能出现欢迎字面并退出,
      但在应用中总是需要输入太麻烦,我想写一个批处理来实现自动输入密码,
      试了很多方法都不行,还请各位大大不吝赐教!
     
   
      已经试过的方法有:  文件重定向,管道
           echo password | passwd
           passwd < 1.txt      其中1.txt文件中保存有密码

2005-8-2 21:52
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
JonePeng
金牌会员

D◎$ Fαп


积分 4562
发帖 1883
注册 2004-1-19
来自 广东广州
状态 离线
『第 2 楼』:  

试试用Kpush:

kpush password
passwd



----====≡≡≡≡ 我的至爱,永远是MSDOS!≡≡≡≡====----
  
2005-8-2 22:27
查看资料  发送邮件  发短消息 网志  OICQ (373343541)  编辑帖子  回复  引用回复
willsort
元老会员

Batchinger


积分 4432
发帖 1512
注册 2002-10-18
状态 离线
『第 3 楼』:  

Re siyuer:

  如果可能,你可以更改你的源程序,使之可以接受重定向或者管道中的密码。

  你可能被要求使用语言环境所提供的标准的输入输出方法,当然,那还要根据你的开发平台而定。



※ Batchinger 致 Bat Fans:请访问 [讨论]批处理编程的异类 ,欢迎交流与共享批处理编程心得!
2005-8-2 23:20
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
chenhui530
高级用户





积分 772
发帖 273
注册 2004-10-23
状态 离线
『第 4 楼』:  

楼主是使用C写的程序把你改下源程序就行了啊



http://www.msfans.net/bbs/
2005-8-3 11:08
查看资料  发送邮件  发短消息 网志  OICQ (77740821)  编辑帖子  回复  引用回复
siyuer
初级用户




积分 133
发帖 10
注册 2005-1-16
状态 离线
『第 5 楼』:  

首先谢谢各位大大的答复,你们辛苦了!

程序是用c写的,但不知道怎样修改,
我用的已经是标准的输入输出函数了,
不知道怎样修改才能接受重定向或管道中的密码,
版主能不能提供一些具体的做法或者相关的教程,
不胜感激!

四楼的解释我也看过了,
奈何俺是菜鸟,不知道怎么修改呀!

期待大大你们的答复!

至于二楼的大大所说的用kpush增强工具不是我所想要的方式,
我想通过DOS + 自己的编程来实现,
仍然感谢你的答复!

2005-8-3 19:05
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
chenhui530
高级用户





积分 772
发帖 273
注册 2004-10-23
状态 离线
『第 6 楼』:  

你把那段验证密码的程序段去掉不就行了!!



http://www.msfans.net/bbs/
2005-8-3 19:23
查看资料  发送邮件  发短消息 网志  OICQ (77740821)  编辑帖子  回复  引用回复
siyuer
初级用户




积分 133
发帖 10
注册 2005-1-16
状态 离线
『第 7 楼』:  

我想6楼所说的确实能够解决问题,
但这样做不是我想要的答案。
应该是我在求助时没有说清楚吧,
谢谢你的关注与答复!

2005-8-3 19:34
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
willsort
元老会员

Batchinger


积分 4432
发帖 1512
注册 2002-10-18
状态 离线
『第 8 楼』:  

Re siyuer:

  使用TC2编译链接以下的程序test.c,得到的test.exe,可以通过 "echo mypassword | test" 的测试,即使使用 scanf、 getchar、getch 之类的函数也没有问题。如果你的程序确实无法如此使用,可以贴上你的源码看看。
#include "stdio.h"

int main(void)
{
    char *pwd;
    pwd = getpass("Please input password:");
    printf("Your password: %s\n",pwd);
    return 0;
}




※ Batchinger 致 Bat Fans:请访问 [讨论]批处理编程的异类 ,欢迎交流与共享批处理编程心得!
2005-8-3 19:42
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
siyuer
初级用户




积分 133
发帖 10
注册 2005-1-16
状态 离线
『第 9 楼』:  

谢谢楼上的答复,
我查了tc2的include文件夹,
才知道getpass是专门用于msdos的控制台输入输出的函数,
只是它被包含在conio.h中,
再次感谢版主的答复!

2005-8-3 20:15
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复

请注意:您目前尚未注册或登录,请您注册登录以使用论坛的各项功能,例如发表和回复帖子等。


可打印版本 | 推荐给朋友 | 订阅主题 | 收藏主题



论坛跳转: