代码中的 是退格。你打开CMD,输入"echo" 然后再把这个退格键粘贴上去,你会发现什么也没有输出,反倒o被删除了,这是退格的作用。
<nul 测试以下代码:- for /l %%a in (1 1 10) do echo %%a
- echo 这是echo输出的方式。&pause&echo.
- for /l %%a in (1 1 10) do set/p=%%a <nul
- echo 这是set/p=[要输出的内容]^<nul输出的方式。
- pause
复制代码 与之相反的>nul:
屏蔽正确命令的结果。2>nul为屏蔽错误命令的结果。
for /l %%a in (1 1 500) do ver>nul
这条语句的意思是执行500次ver命令,并把命令结果输出(>)到空设备(nul)
call set y=%%ys:~%h%,1%%
这里的call是延迟的作用。也可以用setlocal enabledelayedexpansion开启延迟。
用call延迟用以上格式,用setlocal 延迟:set y=!ys:~%h%,1!
其他请参照if/?、set/?、for/?、call/?
要讲解的实在是太多了。应该从简到难,到了一定的程度,自然而然地就会明白是什么意思了。
只是告诉你基础的。剩下的那些应该由自己参透,这样才会进步,才值得高兴。^_^
全部告诉你又如何呢,批处理编程同其它编程一样,变化的只是思路。
在这里能学到的只是思维的拓展而已。
如果只告诉你1+1=2,而不告诉你1+1为何等于2,那么遇到2+2时同样不知道该怎么做。^_^
[ 本帖最后由 pusofalse 于 2008-8-11 16:07 编辑 ] |