

第6课 实战编写自动扫描工具
编写一种批处理让用户输入值,把值组成调用s.exe的命令来扫描
s.exe扫描器的用法
s syn 117.8.158.0 117.8.158.254 135 512 /save
setlocal 把所有变量本地化
@color 0e
@mode con cols=60 lines=30 设置窗口的宽和高
@title 自动扫描工具
第7果 编写批处理查找手机号
find与findstr ,前者支持Unoico字符串,后者不支持但功能更强大
|管道操作符,把两个连续的命令连起来,根据第一个命令的结果来运行第二个命令,如:ipconfig|find "255" 查找ipconfig命令结果中含有255的
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 "[abcdzy]" 2.txt //从2.txt中查找包括abcdzy的字符串和行
6.findstr "[a-fl-z]" 2.txt //从2.txt中查找包括a-f和l-z的字符串和行
7.findstr "M[abc] [hig]Y" 2.txt //从2.txt中查找以M开头,以Y结尾,第二位含有abc,第三位含有hig的
8.^和$符号的应用,
^表示行首,"^step"仅匹配"step hello world"中的第一个单词
$表示行尾,"step$"仅匹配"hello world step"中最后一个单词
9.findstr "[^0-9]" 2.txt 这里的^表非纯,即过滤掉纯数字的字符串或行,如 233456789214会过滤掉,233kallh55hki保留
10.findstr "[^a-z]" 2.txt 过滤掉纯小写字母的字符串或行
11.*号的作用,一般表任意字符,如".*",但在正则表达式中是表左侧字符或表达式的重复的次数为零次或多次。
12. findstr "^[0-9]*$" 2.txt 查找开头和结尾间是纯数字的,^在集里和集外的作用不同,集外表行首,集里表排除
findstr "^[a-z]*$" 2.txt 查看开头和结尾间是纯小写字母的,
13.& 该符号可以把两个命令写在一行
set input= // 清零,把变量的值清空
set /p input= //要求输入一个值
set ID=%input:~0,7% //把变量input的值取前7位赋值给ID变量
echo. 输出一个空行