Board logo

标题: [数值计算] [已解决]echo %a: =%这句代码中的冒号是什么意思? [打印本页]

作者: xss    时间: 2011-8-18 21:00     标题: [已解决]echo %a: =%这句代码中的冒号是什么意思?

本帖最后由 pcl_test 于 2016-7-17 12:28 编辑

我在“批处理教学&资料“版块中曾经看到一个批处理代码段,其中有一语句如下:
echo %a: =%|findstr "[^0-9]"&&goto wrong
请问上面语句中在%a后面的那个冒号:是啥意思?在这里起什么作用?是不是在这整条语句中非得使用它?
在下菜鸟一个,实在不懂其中奥妙,还望大侠们多多指教,不胜感激!
作者: CUer    时间: 2011-8-18 22:05

原文地址是?
没有上下文很难搞清楚作者的用意
作者: bingxing8000    时间: 2011-8-18 22:10

  1. @echo off&color 1f&mode con cols=60 lines=10
  2. title 限定输入格式批处理 by cn-dos zw19750516
  3. :begin
  4. cls&echo.&echo.&echo     请输入三个十进制数字,中间请用空格格开。
  5. set a=&echo.&set /p a=    请在此处输入数字:
  6. echo %a: =%|findstr "[^0-9]"&&goto wrong
  7. for %%i in (%a%) do set str=%%i&call:lp
  8. if %n% neq 3 set n=0&goto wrong
  9. cls&echo.&echo.&echo     你所输入的三个数值字为:%a% 均为合法的十进制数值。
  10. echo.&echo     继续测试请按任意键,退出请关闭窗口。
  11. pause>nul&goto begin
  12. :lp
  13. set /a n+=1
  14. if "%str:~,1%" equ "0" if "%str:~1%" neq "" set n=0&goto wrong
  15. goto :eof
  16. :wrong
  17. cls&echo.&echo.&echo     输入的数值不是合法的十进制数值,或数值不为三个。&ping /n 2 127.1>nul&goto begin
复制代码
源码应该是这个
好像是替换的意思
作者: bingxing8000    时间: 2011-8-18 22:10

  1. @echo off&color 1f&mode con cols=60 lines=10
  2. title 限定输入格式批处理 by cn-dos zw19750516
  3. :begin
  4. cls&echo.&echo.&echo     请输入三个十进制数字,中间请用空格格开。
  5. set a=&echo.&set /p a=    请在此处输入数字:
  6. echo %a: =%|findstr "[^0-9]"&&goto wrong
  7. for %%i in (%a%) do set str=%%i&call:lp
  8. if %n% neq 3 set n=0&goto wrong
  9. cls&echo.&echo.&echo     你所输入的三个数值字为:%a% 均为合法的十进制数值。
  10. echo.&echo     继续测试请按任意键,退出请关闭窗口。
  11. pause>nul&goto begin
  12. :lp
  13. set /a n+=1
  14. if "%str:~,1%" equ "0" if "%str:~1%" neq "" set n=0&goto wrong
  15. goto :eof
  16. :wrong
  17. cls&echo.&echo.&echo     输入的数值不是合法的十进制数值,或数值不为三个。&ping /n 2 127.1>nul&goto begin
复制代码
源码应该是这个
好像是替换的意思
作者: garyng    时间: 2011-8-19 16:25

对啦~
如果输入有空格,就会删掉~
作者: xss    时间: 2011-8-19 20:50

回复 2# CUer


    源代码正如bingxing8000 网友所言,烦请阁下参考一下,并请赐教此代码中的冒号:究竟为何意?拜托了!
作者: CUer    时间: 2011-8-20 00:22

回复 6# xss


set命令的语法,删除字符串中的空格。
作者: xss    时间: 2011-8-20 20:03

回复 7# CUer


    原来如此。
   谢谢阁下的解惑,使我大有拨云见日之感。同时也感谢其它所有网友的回答!




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