标题: [特效代码] set /p 赋值(含计算)问题 [打印本页]
作者: raozhao2008 时间: 2008-12-10 18:24 标题: set /p 赋值(含计算)问题
要达到以下目的,该?
set /p i=
如果输入 A 就 i=1
如果输入 B 就 i=2
如果输入 C 就 i=4
如果输入 D 就 i=8
.
.以此类推
.
如果输入 Y 就 i=2的24次方
如果输入 Z 就 i=2的25次方
如果输入 A+B 就 i=A+B的和
如果输入 A+C 就 i=A+C的和
如果输入 A+B+C 就 i=A+B+C的和
如果输入 X+Y+Z 就 i=X+Y+Z的和
[ 本帖最后由 raozhao2008 于 2008-12-10 18:30 编辑 ]
作者: rat 时间: 2008-12-10 19:12
- @echo off & setlocal & more /e +4 "%~f0">calc.vbs
- set /p i=
- for /f %%a in ('cscript -nologo calc.vbs %i%') do echo %%a
- erase calc.vbs&pause&exit/b
-
-
-
- For Each c in Split(WSH.Arguments(0), "+")
- n = n + 2 ^ (Asc(c) - Asc("A"))
- Next
-
- WSH.Echo n
复制代码
作者: firewolf85 时间: 2008-12-10 19:44
VBS的可以吗,批处理好像不擅长这种计算- a=1
- Do Until a=0
- a=inputbox("请输入次幂数(以0结束输入):","请输入")
- i=i+2^a
- Loop
- MsgBox (i-1)
复制代码
最后一次输入0就可以显示结果,不过别太大了,太大会转换成科学计数法显示。
作者: raozhao2008 时间: 2008-12-10 19:52 标题: 回复 3楼 的帖子
能解决问题,什么都行
待测试
作者: shqf 时间: 2008-12-10 19:55
第一部分是输入字母,输出的是i的值,2 的X次方幂(X从0至25)。第二部分要求输入的是字母吗?如是,那A+B的值是什么?如不是,代替数字的,代替的是什么数?
作者: wxcute 时间: 2008-12-10 20:20
参阅http://bbs.bathome.net/viewthread.php?tid=1863&page=1#pid11372
二楼的这两个标签部分(当然调用的结合看才能看出来)
:sshow
:setn
其中 n10 变量的值就是加起来的和。
[ 本帖最后由 wxcute 于 2008-12-10 20:31 编辑 ]
作者: raozhao2008 时间: 2008-12-11 18:05 标题: 回复 2楼 的帖子
完全符合要求
从A加到Z的值是 6??、?、3,好几位数没记住
想不到有这么强的代码
那代码不是纯批处理的,看不懂
不知 怎样插入一些批处理命令,如set a=%n%,
我曾从 pause 那里入手,但出错
请高手指点
作者: raozhao2008 时间: 2008-12-11 19:33 标题: 回复 6楼 的帖子
链接含有“注册表”关键字,打不开
[ 本帖最后由 raozhao2008 于 2008-12-11 19:34 编辑 ]
作者: rat 时间: 2008-12-11 21:34 标题: 回复 7楼 的帖子
修改下就行- @echo off & setlocal
- set /p i=
- for /f %%a in ('findstr "'%-%vbs" "%~f0"^>calc.vbs^&^&cscript -nologo calc.vbs %i%^&^&erase calc.vbs') do echo %%a
-
- ::::::::::::::Your Codes Here::::::::::::::
-
- pause&exit/b
-
-
-
- For Each c in Split(WSH.Arguments(0), "+")'vbs
- n = n + 2 ^ (Asc(c) - Asc("A"))'vbs
- Next'vbs
-
- WSH.Echo n'vbs
复制代码
其实还是用纯P的效率更高:- @echo off & setlocal
- set str=a b c d e f g h i j k l m n o p q r s t u v w x y z
- for %%i in (%str%) do set/a%%i=1"<<num,num+=1
- set/p chr=请输入任意数学表达式:
- set/a chr=%chr%
- echo %chr%
- pause
复制代码
[ 本帖最后由 rat 于 2008-12-11 21:41 编辑 ]
作者: guodong 时间: 2008-12-16 10:51
set/a%%i=1"<<num,num+=1
能详细解释一下 ?
欢迎光临 批处理之家 (http://bbs.bathome.net/) |
Powered by Discuz! 7.2 |