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

详细解释一个批处理,新手过来学习下

  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 编辑 ]
1

评分人数

改成判断输入的是数字还是字母(有些弱智,呵呵)

  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
复制代码
only the strong survive!

TOP

上面的哥们,我只是自己理解findstr这应是两个词,find   str .find是找到的意思,str是一个变量吧,我也是一个初学者,有不对的地方请大家指教

TOP

我也是一个初学者,在这里学习了一些东西,谢谢各位了

TOP

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






本人菜鸟还请LZ麻烦解释下!

TOP

感谢阿,学到东西了~

TOP

又学到点东西
不错...

TOP

哦,今天又学到点东西,很高兴

TOP

不错...
那个为什么不分大小写应该是 /i这个参数吧

TOP

感谢 wangwei4103

感谢 wangwei4103
已经改正

TOP

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

   这句错了啊
因该是这样吧   
echo a|findstr /i "[a-z]">nul&&echo a是字母

TOP

原来是你啊,哥本哈根

TOP

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

应该说明一下这里为何不区分大小写。
心绪平和,眼藏静谧。

TOP

返回列表