标题: 高手指点一下,关于“%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
命令 /? 是永远的老师!