Board logo

标题: 详细解释一个批处理,新手过来学习下 [打印本页]

作者: lixiaodaoaaa    时间: 2008-8-11 15:33     标题: 详细解释一个批处理,新手过来学习下

  1. @echo off
  2. echo a|findstr "[0-9]">nul&&echo a是数字
  3. echo a|findstr /i "[a-z]">nul&&echo a是字母
  4. pause>nul
复制代码


解释一下该命令的意思
echo a | 通过管道命令 "|" 把a这个字符传递给findstr
findstr 在 [0-9]之间找找看看能不能找到a这个字符,
&& 的意思是若找到了就运行 下面的 echo a 是数字,
显然是找不到的,所以第一条是什么都不显示的。。。。。


&& 的意思是若成功了,就执行下一条命令
||  的意思是若失败了,才执行后面的命令
下面我来解释第二条命令

echo a | findstr /i "[a-z]" >nul &&echo a是字母
意思是把a字符 传递给findstr ,findstr /i 的意思是不区分大小写
呵呵。。就是不论a是大写小写,都可以,findstr在哪里找呢,就是在a到z里

找a ,是否能找到呢,答案是肯定的,成功的找到了a,
&&的意思就是若成功就执行下一条命令,在这里显然是成功了!
就执行&&后面的命令 echo a 是字母!
在看下面的例子:

  1. @echo off
  2. echo a|findstr "[0-9]">nul||echo 失败了,找不到a,a不是数字
  3. echo a|findstr /i "[a-z]">nul&&echo a是字母
  4. pause>nul
复制代码
相信大家都能解释出来吧。。。


[ 本帖最后由 lixiaodaoaaa 于 2008-8-18 12:58 编辑 ]
作者: pusofalse    时间: 2008-8-11 16:15

。。就是不论a是大写小写,都可以,findstr在哪里找呢,就是在a到z里

应该说明一下这里为何不区分大小写。
作者: 想学P处理    时间: 2008-8-13 20:25

原来是你啊,哥本哈根
作者: wangwei4106    时间: 2008-8-17 13:06

echo a|findstr /i "[a-z]">nul&&ho a是字母

   这句错了啊
因该是这样吧   
echo a|findstr /i "[a-z]">nul&&echo a是字母
作者: lixiaodaoaaa    时间: 2008-8-18 12:58     标题: 感谢 wangwei4103

感谢 wangwei4103
已经改正
作者: qq641255849    时间: 2008-8-19 13:27

不错...
那个为什么不分大小写应该是 /i这个参数吧
作者: 021f1d    时间: 2008-9-26 07:51

哦,今天又学到点东西,很高兴
作者: haha0515    时间: 2008-10-1 18:08

又学到点东西
不错...
作者: chenyu2202863    时间: 2008-10-1 22:17

感谢阿,学到东西了~
作者: 消失在风中    时间: 2008-10-5 17:23

嗯,学习了!不过,我想问一下,findstr是文件还是什么?
还有那nul又是什么?






本人菜鸟还请LZ麻烦解释下!
作者: wangzhantong    时间: 2008-10-5 19:48

我也是一个初学者,在这里学习了一些东西,谢谢各位了
作者: wangzhantong    时间: 2008-10-5 19:55

上面的哥们,我只是自己理解findstr这应是两个词,find   str .find是找到的意思,str是一个变量吧,我也是一个初学者,有不对的地方请大家指教
作者: vincentzhou    时间: 2010-12-11 16:37     标题: 改成判断输入的是数字还是字母(有些弱智,呵呵)

  1. @echo off
  2. set/p a=输入个位数字或者字母:
  3. echo %a%|findstr "[0-9]">nul&&echo %a%是数字
  4. echo %a%|findstr /i "[a-z]">nul&&echo %a%是字母
  5. pause>nul
复制代码





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