Board logo

标题: [数值计算] 批处理中点号和管道符号的作用是什么? [打印本页]

作者: lqh3417    时间: 2009-7-28 17:46     标题: 批处理中点号和管道符号的作用是什么?

http://zhidao.baidu.com/question/107506261.html中314ccp的回答
  1. @echo off&setlocal enabledelayedexpansion
  2. for %%a in (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)do (
  3. set/a .+=1&call set %%a=%%.%%)
  4. ::试改变以下表达式5和e运行看看!
  5. set/a a=%e%+5
  6. for %%b in (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)do (
  7. set/a ..+=1&if !a!==!..! set a=%%b)
  8. echo %a%
  9. pause
复制代码


和在http://bbs.bathome.net/viewthread.php?tid=3040&statsdata=29||5360二楼的回答:
  1. @echo off
  2. :bgn
  3. set /p str=字符串:
  4. for /f "skip=1 delims=:" %%a in ('^(echo.%str%^&echo.^)^|findstr /o .') do (
  5.   set /a Bytes=%%a-3
  6. )
  7. echo 字节数: %Bytes%
  8. echo. & goto bgn
复制代码

都出现了“.”的运用
请问这几个回答的“.”代表什么?另外上面第一个回答中“|”能不能换成“&”。如果不能,为什么呢?
能再举几个通俗易懂的实例吗?谢谢!

[ 本帖最后由 lqh3417 于 2009-7-30 18:44 编辑 ]
作者: namejm    时间: 2009-7-28 23:00

  请把其他站点内的相关内容复制过来再讨论,仅给出其他站点的链接是不合适的,一来会增加点击操作,访问繁琐;二来不能直接进入正式话题,讨论不方便;万一这些内容挂掉了,后人就完全抓瞎了。
作者: lqh3417    时间: 2009-7-29 15:03     标题: 回复 2楼 的帖子

谢谢斑竹的提醒,不过还是要有链接,不然人家可能需要看一下上下文
作者: Batcher    时间: 2009-7-29 15:12

1、这里的点只是一个变量名而已,没有什么特殊含义,你可以把它改成a、b、c、d等其它字母。

2、不能。因为它们的作用不同,具体请参考:批处理常用符号详解
http://bbs.bathome.net/viewthrea ... amp;page=3#pid25363
http://bbs.bathome.net/thread-1205-1-2.html
作者: lqh3417    时间: 2009-7-29 17:39

不理解 in ('^(echo.%str%^&echo.^)^|findstr /o .')
作者: keen    时间: 2009-7-29 19:48     标题: 回复 5楼 的帖子

你不理解是因为你对批处理的基础知识掌握的不是很好,所以建议你去[批处理教学与资料]版块多学习一下,你很快就会看懂这个.
作者: wxcute    时间: 2009-7-29 20:25

学习的方法有很多,不懂的可以先放过。
若怕错过好东西呢,就从所涉及到的知识点一个个的突破。
for 中的 ('^(echo.%str%^&echo.^)^|findstr /o .') 这句涉及到
一、FOR 的运行机制
二、FINDSTR 命令中 /O 开关以及点(.)的意义
三、转义字符 ^
四、连接符 & 以及管道 |
五、括号的使用
等等……




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