Board logo

标题: 能否讲解一下批处理中set /p <nul的用法? [打印本页]

作者: rogue_1983    时间: 2010-7-20 15:55     标题: 能否讲解一下批处理中set /p <nul的用法?

  1. @echo off
  2. color 1a
  3. mode con:cols=32lines=30
  4. echo           ^<^<古诗一首^>^>
  5. set,=未曾清贫难成人,不经打击老天真,自古英雄出炼狱,从来富贵入凡尘,醉生梦死谁成器?托马长枪定乾坤,挥军千里山河在,立名扬威传后人!
  6. for,/l %%i,in,(0,1,63),do,call,set/p=%%,:~%%i,1%%<nul&ping/n,1,127.1>nul
  7. pause>nul
复制代码
请教高手 set/p=%%,:~%%i,1%%<nul     在里面的具体意思是什么?具体分析一下,谢谢
作者: x9tiancmd    时间: 2010-7-20 16:39

  1. :: 记定变量 ,  
  2. set,=未曾清贫难成......
  3. ::  利用 for  /l  从 0 递归 到63
  4. for,/l %%i,in,(0,1,63),do,
  5. :: 利用 call ***  变量延时  %%,
  6. call,set/p=%%,:~%%i,1%%<nul&ping/n,1,127.1>nul
复制代码




call,set/p=%%,:~%%i,1%%<nul

如上所示. call 延时,变量需用百分对括起   

                  

[ 本帖最后由 x9tiancmd 于 2010-7-20 16:43 编辑 ]
作者: rogue_1983    时间: 2010-7-20 16:57

谢谢解答,那 :~%%i,1   是什么意思?截取字符串应该是这种格式啊? %str:~2,2%    它这里怎么是~%%i,1  ?什么意思?
作者: wankoilz    时间: 2010-7-20 17:03

%%i不就是for里面的变量么...它从0到63逐一递增
作者: jay_16    时间: 2011-4-17 19:33

  1. set/p=%%,:~%%i,1%%<nul     
复制代码
  1. ]%%,
复制代码
是那首诗:set .=。。。
  1. %%i
复制代码
是for /l循环中的数值
  1. %%,:~%%i,1%%
复制代码
就是截取,中字符中第%%i位的一个字符。
作者: dosbat    时间: 2011-4-19 19:02

那个逗号是个变量名吗?如果是的话 我觉得这种命名方式很不好 增加阅读代码的难度




欢迎光临 批处理之家 (http://bbs.bathome.net/) Powered by Discuz! 7.2