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

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

  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
复制代码
说明了“|”两边不能有空格吗?
1

评分人数

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

改好了。
了解了,谢谢。

TOP

那是因为 你的echo %a% 把空格也传递给了 findstr 而你规则是不允许有数字以外的字符。
1

评分人数

隐藏秘密最好的方法是把秘密当笑话说给所有人听。

TOP

请楼主用code把代码框起来,可以在编辑时选中代码,点击编辑框上方的“<>”按钮快捷添加

TOP

返回列表