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

[其他] [已解决]判断字符串类型的批处理管道两边不能有空格?

[复制链接]
发表于 2011-6-6 21:58:07 | 显示全部楼层 |阅读模式
  1. @echo off
  2. setlocal ENABLEDELAYEDEXPANSION
  3. set /p a="请输入:"
  4. echo %a% | findstr "^[0-9]*$" || (echo 必须纯数字)
  5. pause >nul

复制代码
之上代码出错
删掉“|”两边的空格就可以了,如
  1. @echo off
  2. setlocal ENABLEDELAYEDEXPANSION
  3. set /p a="请输入:"
  4. echo %a%|findstr "^[0-9]*$" || (echo 必须纯数字)
  5. pause >nul
复制代码
说明了“|”两边不能有空格吗?

评分

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

查看全部评分

发表于 2011-6-6 22:01:22 | 显示全部楼层
请楼主用code把代码框起来,可以在编辑时选中代码,点击编辑框上方的“<>”按钮快捷添加
发表于 2011-6-6 22:01:56 | 显示全部楼层
那是因为 你的echo %a% 把空格也传递给了 findstr 而你规则是不允许有数字以外的字符。

评分

参与人数 1技术 +1 收起 理由
Batcher + 1 乐于助人

查看全部评分

 楼主| 发表于 2011-6-6 22:07:07 | 显示全部楼层
改好了。
了解了,谢谢。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-3-17 14:11 , Processed in 0.018069 second(s), 9 queries , File On.

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

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