Board logo

标题: [求助]纯DOS下用什么代替SET/P来接收一个字符串到变量[已结] [打印本页]

作者: NaturalJ0     时间: 2006-8-19 21:56    标题: [求助]纯DOS下用什么代替SET/P来接收一个字符串到变量[已结]

写好 SET /P 到纯 DOS 运行,发现 DOS 下根本没这参数。那应该怎么办呢?用什么办法来替代原来的 SET /P 呢?向各位求教了。

[ Last edited by NaturalJ0 on 2006-8-22 at 08:06 ]
作者: zts59     时间: 2006-8-21 14:33
choice.exe
作者: bagpipe     时间: 2006-8-21 14:45
choice 可以选择,但赋值给变量就有些说不过去了吧
除非用CHOICE选项到指定标签,然后在各个标签里用SET设置指定变量,这样应该就可以了
作者: willsort     时间: 2006-8-22 03:15
Re NaturalJ0:

      choice 接受的是单个字符,而非字符串。

      DOS 自身并不提供可以直接获取字符串到变量的机制或命令,但正因如此,满足这一需求的第三方工具相当多,几乎一半以上的批处理扩展工具都支持从控制台接收字符串并保存到变量。比如input,askenv,aset,xset,strings,wbat,be,等。

      当然,也有不使用第三方工具的范例[1],只是其中牵涉的技术细节较为复杂和繁琐。所以,使用 Herbert Kleebauer 利用 ASCII Assembler 技术编写的 myinput.com 可能是更好的选择。

[1][求助]批处理中 录入屏幕输入的字符串变量 语句如何
http://www.cn-dos.net/forum/viewthread.php?tid=5283

[2]input.bat
@echo off
echo BATCH_INPUT___hgQX-PPP_XPPP E#HH0E50EG0Ef0Ehs>myinput.com
echo myinput.bat hoAX5@@PZYh@xX5@D3!r/P[WX,b,-PZh>>myinput.com
echo X3!X2ErP,{,{PYX4=0ErWX,j,-PZh@@X3!=set input>>myinput.com
echo Enter your name:
myinput.com
call myinput.bat
echo Hello %input%
[ Last edited by willsort on 2006-8-22 at 03:17 ]
作者: NaturalJ0     时间: 2006-8-22 07:59
谢谢各位。
特别是楼上的方法,好强啊,居然直接生成这种文件。 = =
我当时因为查到要用第三方工具,但又一时下载不到第三方工具,而且不知道用法。所以就自己用 C 写了个小程序来实现输入功能了。
作者: electronixtar     时间: 2006-8-22 10:38
ASCode。赞一个
作者: nickonline     时间: 2006-9-22 07:37
为什么我一执行input.bat就死在input your name那里了?