中国DOS联盟

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

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

中国DOS联盟论坛
现在时间是 2026-08-13 01:24
中国DOS联盟论坛 » DOS学习入门 & 精彩文章 (教学室) » 请问怎样接受键盘输入的字符串?急急急!!! 查看 866 回复 10
楼 主 请问怎样接受键盘输入的字符串?急急急!!! 发表于 2003-08-08 00:00 ·  中国 台湾 中华电信
中级用户
积分 283
发帖 39
注册 2003-07-12 00:00
23年会员
UID 6808
性别 男
状态 离线
我想让DOS提示叫我输入字符串:
我输入字符后回车,所输入的字符就会保存在一个文件中。
like this 屏幕显示
please in put string:
我输入
ddddd
之后,我就可以在某个。txt文件中得到ddddd
然后在确认输入:
please put string again
如果这是输入和第一次不一样,就报错。
谢谢,恳请大家帮忙
我不是菜,是汤!!!
2 发表于 2003-08-08 00:00 ·  中国 福建 福州 电信
元老会员
★★★
农民
积分 2,903
发帖 991
注册 2003-07-23 00:00
23年会员
UID 7391
性别 男
来自 福建省
状态 离线
我想这个要通过编程来解决了……
大体的思路是这样,先设置一个循环,然后在屏幕上输出 “Please input string:”,把用户输入的字串保存在变量中,然后再在屏幕上输出“Please put string again:”要求用户重新输入一次,将该数据和前面那个变量相比较,如果一致则保存到某个.txt文件中,如果不一致则报错。
只是一个简要的思路,用编程语言应该能很轻松的实现。
艰难奋长戟,万古用一夫

中国DOS联盟 http://www.cn-dos.net 欢迎大家来共同学习
我的MSN&E-Mail cn_archer@hotmail.com QQ 56049418
3 关键是怎么把输入在屏幕上的字符存在变量里 发表于 2003-08-08 00:00 ·  中国 台湾 中华电信
中级用户
积分 283
发帖 39
注册 2003-07-12 00:00
23年会员
UID 6808
性别 男
状态 离线
关键是怎么把输入在屏幕上的字符存在变量里!!!!!!
要怎么set?
请给出程序好吗?
我不是菜,是汤!!!
4 发表于 2003-08-08 00:00 ·  中国 福建 福州 电信
元老会员
★★★
农民
积分 2,903
发帖 991
注册 2003-07-23 00:00
23年会员
UID 7391
性别 男
来自 福建省
状态 离线
呵呵,这一步很简单啊。
C语言或者其它的编程语言我记得不太清楚了,用数据库语言来试着描述一下吧。

store space(6) to x //这个6主要指他占多少位,可以自行设定
@10,10 say“Please input string:” get x picture "XXXXXX"
read

这样就可以了,好象在C语言里input等也都可以实现啊,不过具体的命令我记不太清了,所以只能讲个大略,:)
艰难奋长戟,万古用一夫

中国DOS联盟 http://www.cn-dos.net 欢迎大家来共同学习
我的MSN&E-Mail cn_archer@hotmail.com QQ 56049418
5 发表于 2003-08-08 00:00 ·  中国 广东 肇庆 电信
高级用户
★★
积分 578
发帖 135
注册 2003-07-10 00:00
23年会员
UID 6709
性别 男
状态 离线
以下是引用lifeng5115在2003-8-8 12:29:47的发言:
关键是怎么把输入在屏幕上的字符存在变量里!!!!!!
要怎么set?
请给出程序好吗?

用get加s
如:
get s "please in put string:"
这样,下一行命令中的 %get% 就是你刚才输入的字符串了!







6 发表于 2003-08-11 00:00 ·  中国 台湾 中华电信
中级用户
积分 283
发帖 39
注册 2003-07-12 00:00
23年会员
UID 6808
性别 男
状态 离线
请问,get在批处理文件中可以使用吗???
我所说的接受输入是指在DOS下
我不是菜,是汤!!!
7 发表于 2003-08-12 00:00 ·  中国 河南 南阳 联通
初级用户
积分 219
发帖 23
注册 2003-08-11 00:00
23年会员
UID 8405
性别 男
状态 离线
好难!
看来我要多学学啊!
8 发表于 2003-08-12 00:00 ·  中国 香港
管理员
★★★★
專業島民
积分 4,869
发帖 1,633
注册 2002-12-10 00:00
23年会员
UID 465
性别 男
状态 离线
以下是引用lifeng5115在2003-8-8 11:16:52的发言:
我想让DOS提示叫我输入字符串:
我输入字符后回车,所输入的字符就会保存在一个文件中。
like this 屏幕显示
please in put string:
我输入
ddddd
之后,我就可以在某个。txt文件中得到ddddd
然后在确认输入:
please put string again
如果这是输入和第一次不一样,就报错。
谢谢,恳请大家帮忙

:: Get user input - includes error check
@echo off
set secondpass=
echo e100'set input='>%temp%.\temp.dat
echo w>>%temp%.\temp.dat
echo q>>%temp%.\temp.dat
:input
echo.
if not %secondpass%.==1. echo Type in input
if %secondpass%.==1. echo Type in input again
echo.>%temp%.\temp.bat
FC con nul /lb1 /n |FIND.exe "1:" >> %temp%.\temp.bat
:: Error checking begins here
FIND "|" %temp%.\temp.bat > nul
if not errorlevel=1 goto error
FIND "=" %temp%.\temp.bat > nul
if not errorlevel=1 goto error
FIND " nul
if not errorlevel=1 goto error
FIND ">" %temp%.\temp.bat > nul
if not errorlevel=1 goto error
:: Error checking end
DEBUG %temp%.\temp.bat nul
call %temp%.\temp.bat
if exist %temp%.\temp.?at del %temp%.\temp.?at
rem echo INPUT=%INPUT%
goto EOF
:error
echo.
echo @PROMPT Error - invalid characters: $Q $L $G $B> %temp%.\temp.bat
%comspec% /c %temp%.\temp.bat |FIND.exe "Error:"
goto input
:eof
if not %secondpass%.=1. echo %INPUT%>1st.txt
if not %secondpass%.=1. set secondpass=1
if %secondpass%.=1. type 1st.txt|find "%INPUT%">NUL
if errorlevel 1 goto notmatch
goto end

:notmatch
ECHO The input does not match!
goto end

:end
我的網站:http://mw16.2ya.com/ 我的網誌: http://scrappedblog.blogspot.com/
~
我的Winamp正在播放的歌曲:
9 发表于 2003-08-13 00:00 ·  中国 广东 肇庆 电信
高级用户
★★
积分 578
发帖 135
注册 2003-07-10 00:00
23年会员
UID 6709
性别 男
状态 离线
不用这么复杂吧?
10 发表于 2003-08-13 00:00 ·  中国 台湾 中华电信(HiNet)数据中心
中级用户
积分 283
发帖 39
注册 2003-07-12 00:00
23年会员
UID 6808
性别 男
状态 离线
太复杂了^_^
我只要简单一点的。
我不是菜,是汤!!!
11 发表于 2003-10-16 00:00 ·  中国 浙江 金华 电信
中级用户
★★
积分 278
发帖 52
注册 2003-06-10 00:00
23年会员
UID 4662
性别 男
状态 离线
用INPUT可以了!
论坛跳转: