找回密码
 注册
搜索
[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
查看: 32678|回复: 7

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

[复制链接]
发表于 2011-8-18 21:00:32 | 显示全部楼层 |阅读模式
本帖最后由 pcl_test 于 2016-7-17 12:28 编辑

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

评分

参与人数 1PB +2 收起 理由
CrLf + 2 感谢给帖子标题标注[已解决]字样

查看全部评分

发表于 2011-8-18 22:05:33 | 显示全部楼层
原文地址是?
没有上下文很难搞清楚作者的用意
发表于 2011-8-18 22:10:00 | 显示全部楼层
  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
复制代码
源码应该是这个
好像是替换的意思
发表于 2011-8-18 22:10:42 | 显示全部楼层
  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
复制代码
源码应该是这个
好像是替换的意思

评分

参与人数 1PB +5 收起 理由
CrLf + 5 乐于助人

查看全部评分

发表于 2011-8-19 16:25:34 | 显示全部楼层
对啦~
如果输入有空格,就会删掉~

评分

参与人数 1PB +2 收起 理由
CrLf + 2 乐于助人

查看全部评分

 楼主| 发表于 2011-8-19 20:50:59 | 显示全部楼层
回复 2# CUer


    源代码正如bingxing8000 网友所言,烦请阁下参考一下,并请赐教此代码中的冒号:究竟为何意?拜托了!
发表于 2011-8-20 00:22:25 | 显示全部楼层
回复 6# xss


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

评分

参与人数 1PB +5 收起 理由
CrLf + 5 乐于助人

查看全部评分

 楼主| 发表于 2011-8-20 20:03:11 | 显示全部楼层
回复 7# CUer


    原来如此。
   谢谢阁下的解惑,使我大有拨云见日之感。同时也感谢其它所有网友的回答!
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|小黑屋|批处理之家 ( 渝ICP备10000708号 )

GMT+8, 2026-3-21 10:25 , Processed in 0.033616 second(s), 18 queries .

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

快速回复 返回顶部 返回列表