[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖

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

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

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

评分人数

    • CrLf: 感谢给帖子标题标注[已解决]字样PB + 2

原文地址是?
没有上下文很难搞清楚作者的用意

TOP

  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
复制代码
源码应该是这个
好像是替换的意思
赞成“拿来主义”,但是鄙视“伸手党”

TOP

  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
复制代码
源码应该是这个
好像是替换的意思
1

评分人数

    • CrLf: 乐于助人PB + 5
赞成“拿来主义”,但是鄙视“伸手党”

TOP

对啦~
如果输入有空格,就会删掉~
1

评分人数

    • CrLf: 乐于助人PB + 2

TOP

回复 2# CUer


    源代码正如bingxing8000 网友所言,烦请阁下参考一下,并请赐教此代码中的冒号:究竟为何意?拜托了!

TOP

回复 6# xss


set命令的语法,删除字符串中的空格。
1

评分人数

    • CrLf: 乐于助人PB + 5

TOP

回复 7# CUer


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

TOP

返回列表