Board logo

标题: 高手指点一下,关于“%ComSpec% /cset=……” [打印本页]

作者: dove     时间: 2007-2-15 12:26    标题: 高手指点一下,关于“%ComSpec% /cset=……”

%ComSpec% /cset,=秋个好凉天道却,休还说欲,休还说欲&for,/l,%i,in,(18,-1,0)do,@call,set/p= %,:~%i,1%<nul&ping/n 1 127.1>nul


我在网上经常见到与上面类似的代码,将这段代码输入运行中就能逐个将汉字通过命令提示符显示出来。
我对32位控制台批处理的研究还处在起步阶段,想向高手讨教一下上面这段代码的运行原理,希望各位不吝赐教。
谢谢啦!
作者: slore     时间: 2007-2-15 13:02
http://www.cn-dos.net/forum/viewthread.php?tid=27430&fpage=3
作者: dove     时间: 2007-2-15 13:41
原来早就有
不过,对于“set/p= %,:~%i,1%<nul”中的“%,:~%i,1%”解释得还是不够详细具体。
还是谢谢你!
作者: slore     时间: 2007-2-15 14:04
变量,从%i位开始取,取一个长度的字符

如果a=qwert
q是第0位,w是第1位,e是第2位
%a:~2,1%返回的是e
作者: dove     时间: 2007-2-15 14:16
恩,应该是这么回事
可是请问您是从哪知道关于“%a:~2,1%”的解释的?
可能是我见识短,我以前从没见过这种写法
windows的帮助里有吗?
作者: redtek     时间: 2007-2-15 21:05
关于 “%a:~2,1%” 原理的解释在  SET  命令中:)
执行     SET   /?     可以看到详尽的解释。


另: SET  /?
   IF     /?
   FOR  /?

几乎最常用的一些参数一般不需要或不太可能都能背下来,其实只要记住上面3个命令,用的时候  /? 加上帮助的参数,这样就可随查所需:)

(只要记住上面3个命令和随时查看它们的帮助信息-大约了解哪些应用出自哪个命令就行啦,这也是自我了然的学习捷径:)
作者: htysm     时间: 2007-2-15 22:29
高手呀。
作者: zqz0012005     时间: 2007-3-8 04:34
命令 /? 是永远的老师!