Board logo

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

作者: bingxing8000    时间: 2011-6-6 21:58     标题: [已解决]判断字符串类型的批处理管道两边不能有空格?

  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
复制代码
说明了“|”两边不能有空格吗?
作者: CrLf    时间: 2011-6-6 22:01

请楼主用code把代码框起来,可以在编辑时选中代码,点击编辑框上方的“<>”按钮快捷添加
作者: 我是马甲    时间: 2011-6-6 22:01

那是因为 你的echo %a% 把空格也传递给了 findstr 而你规则是不允许有数字以外的字符。
作者: bingxing8000    时间: 2011-6-6 22:07

改好了。
了解了,谢谢。




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