转自:http://forabc.blogbus.com/logs/55983574.html
find与findstr
在文件中搜索字符串。
1.findstr . 2.txt 或 Findstr "." 2.txt
从文件2.txt中查找任意字符,不包括空字符或空行
====================
2.findstr .* 2.txt 或 findstr ".*" 2.txt
从文件2.txt中查找任意字符包括空行和空字符
====================
3.findstr "[0-9]" 2.txt
从文件2.txt中查找包括数字0-9的字符串或行
====================
4.findstr "[a-zA-Z]" 2.txt
从文件2.txt中查找包括任意字符的字符串或行
====================
5.findstr "[abcezy]" 2.txt
从文件2.txt中查找包括a b c e z y字母的字符串或行
====================
6.findstr "[a-fl-z]" 2.txt
从文件2.txt中查找小写字符a-f l-z的字符串,但不包含g h I j k这几个字母。
====================
7.findstr "M[abc] [hig]Y" 2.txt
从文件2.txt中可以匹配 MaiY, MbiY, MahY等…..
====================
8. ^和$符号的应用
^ 表示行首,"^step"仅匹配 "step hello world"中的第一个单词
$ 表示行尾,"step$"仅匹配 "hello world step"中最后一个单词
====================
9.findstr "[^0-9]" 2.txt
如果是纯数字的字符串或者行便过滤掉,例如2323423423 这样的字符串,如果是345hh888这样的形式就显示出来。
====================
10.findstr "[^a-z]" 2.txt
同上,如果是纯字母的字符串或者行便过滤掉,例如 sdlfjlkjlksjdklfjlskdf这样的字符,如果是sdfksjdkf99999这样的形式,掺杂着数字就不成了
====================
11.*号的作用
前面已经说过了 ".*"表示搜索的条件是任意字符,*号在正则表达式中的作用不是任何字符,而是表示左侧字符或者表达式的重复次数,*号表示重复的次数为零次或者多次。
====================
12.findstr "^[0-9]*$" 2.txt
这个是匹配找到的纯数字,例如 234234234234,如果是2133234kkjl234就被过滤掉了。
Findstr "^[a-z]*$" 2.txt
这个是匹配找到的纯字母,例如 sdfsdfsdfsdf,如果是213sldjfkljsdlk就被过滤掉了
=====================
批处理编写手机号查找程序
@echo off
title 手机号码归属地查询
mode con lines=10 cols=31
:Main
cls
echo.
echo.
echo 请输入手机号码:
echo.
set input=
set /p input=
if not defined input exit
if "%input:~10%"=="" goto Main
if not "%input:~11%"=="" goto Main
echo %input%|findstr "^1[3,5][0-9]*$">nul
cls
echo.
set ID=%input:~0,7%
for /f "tokens=2,4,6,8,10 delims='" %%i in ('findstr /r "%ID%" 手机信息数据库.txt') do (
echo ━━━━━━━━━━━━━━━
echo 来自: %%k %%l
echo.
echo 品牌:%%m
echo.
echo 电话区号:%%j
echo ━━━━━━━━━━━━━━━
)
pause>nul
goto Main
手机数据信息库内容
(1, '1300000', '010', '北京', '北京', '联通130卡'),
(2, '1300001', '0519', '江苏', '常州', '联通如意通卡'),
(3, '1300002', '未知', '未知', '未知', '未知'),
(4, '1300003', '未知', '未知', '未知', '未知'),
(5, '1300004', '未知', '未知', '未知', '未知'),
(6, '1300005', '未知', '未知', '未知', '未知'),
(7, '1300006', '025', '江苏', '南京', '联通130卡'),
(8, '1300007', '未知', '未知', '未知', '未知'),
(9, '1300008', '未知', '未知', '未知', '未知'),
(10, '1300009', '未知', '未知', '未知', '未知'),
(11, '1300010', '010', '北京', '北京', '联通130卡'),
(12, '1300011', '010', '北京', '北京', '联通130卡'),
(13, '1300012', '022', '天津', '天津', '联通130卡'),
(14, '1300013', '022', '天津', '天津', '联通130卡'),
(15, '1300014', '022', '天津', '天津', '联通130卡'),
(16, '1300015', '0533', '山东', '淄博', '联通130卡'),
(17, '1300016', '0535', '山东', '烟台', '联通130卡'),
(18, '1300017', '0531', '山东', '济南', '联通130卡'),
(19, '1300018', '022', '天津', '天津', '联通130卡'),
(20, '1300019', '022', '天津', '天津', '联通130卡'),
(21, '1300020', '021', '上海', '上海', '联通130卡'),
(22, '1300021', '021', '上海', '上海', '联通130卡'),
(23, '1300022', '021', '上海', '上海', '联通130卡'),
(24, '1300023', '021', '上海', '上海', '联通130卡'),
(25, '1300024', '021', '上海', '上海', '联通130卡'),
(26, '1300025', '025', '江苏', '南京', '联通130卡'),
(27, '1300026', '025', '江苏', '南京', '联通130卡'),
(28, '1300027', '0535', '山东', '烟台', '联通130卡'),
(29, '1300028', '025', '江苏', '南京', '联通130卡'),
(30, '1300029', '025', '江苏', '南京', '联通130卡'),
(31, '1300030', '025', '江苏', '南京', '联通130卡'),
(32, '1300031', '025', '江苏', '南京', '联通130卡'),
(33, '1300032', '025', '江苏', '南京', '联通130卡'),
(34, '1300033', '0510', '江苏', '无锡', '联通130卡'),
(35, '1300034', '0510', '江苏', '无锡', '联通130卡'),
(36, '1300035', '0510', '江苏', '无锡', '联通130卡'),
(37, '1300036', '0510', '江苏', '无锡', '联通130卡'),
(38, '1300037', '0510', '江苏', '无锡', '联通130卡'),
(39, '1300038', '0510', '江苏', '无锡', '联通130卡'),
(40, '1300039', '0510', '江苏', '无锡', '联通130卡'),
(41, '1300040', '未知', '未知', '未知', '未知'),
(42, '1300041', '未知', '未知', '未知', '未知'),
(43, '1300042', '未知', '未知', '未知', '未知'),
(44, '1300043', '未知', '未知', '未知', '未知'),
(45, '1300044', '未知', '未知', '未知', '未知'),
(46, '1300045', '010', '北京', '北京', '联通130卡'),
(47, '1300046', '010', '北京', '北京', '联通130卡'),
(48, '1300047', '010', '北京', '北京', '联通130卡'),
(49, '1300048', '010', '北京', '北京', '联通130卡'),
(50, '1300049', '010', '北京', '北京', '联通130卡'),
(51, '1300050', '020', '广东', '广州', '联通130卡'),
(52, '1300051', '020', '广东', '广州', '联通130卡'),
(53, '1300052', '020', '广东', '广州', '联通130卡'),
(54, '1300053', '020', '广东', '广州', '联通130卡'),
(55, '1300054', '020', '广东', '广州', '联通130卡'),
(56, '1300055', '020', '广东', '广州', '联通130卡'),
(57, '1300056', '020', '广东', '广州', '联通130卡'),
(58, '1300057', '020', '广东', '广州', '联通130卡'),
(59, '1300058', '020', '广东', '广州', '联通130卡'),
(60, '1300059', '020', '广东', '广州', '联通130卡'),
(61, '1300060', '未知', '未知', '未知', '未知'),
(62, '1300061', '0724', '湖北', '荆门', '联通130卡'),
(63, '1300062', '未知', '未知', '未知', '未知'),