标题: [文件操作] 批处理怎样搜索一个TXT文本的第一行? [打印本页]
作者: jsjcjsjc 时间: 2010-4-8 20:08 标题: 批处理怎样搜索一个TXT文本的第一行?
就是目录下有一个txt文本
大概里面可能是这个样子
复制代码
怎么创建一个批处理,搜索这个文本的第一行,看第一行里面有没有包含'MZI'
如果包含 在start 1.bat
如果不包含start 2.bat
作者: hanyeguxing 时间: 2010-4-8 20:08
如果确定文本前两个字符就是MZ,则:- @echo off
- set/p n=<a.txt
- if /i "%n:~0,2%"=="mz" (start 1.bat) else start 2.bat
复制代码
如果不确定是否在行首,则:- @echo off
- set/p n=<a.txt
- echo %n% |find /i "mz">nul
- if /i %ERRORLEVEL%==0 (start 1.bat) else start 2.bat
复制代码
或:- @echo off
- set/p n=<a.txt
- echo %n% |find /i "mz">nul&&start 1.bat||start 2.bat
复制代码
作者: jsjcjsjc 时间: 2010-4-8 20:48
谢谢 长见识了
如果要确认最后2位是AS呢?(字数不定啊,只要最后的2位)
这个可以吗
[ 本帖最后由 jsjcjsjc 于 2010-4-8 20:56 编辑 ]
作者: hanyeguxing 时间: 2010-4-8 20:58
@echo off
set/p n=<a.txt
if /i "%n:~-2%"=="as" (start 1.bat) else start 2.bat
作者: jsjcjsjc 时间: 2010-4-8 21:05
非常感谢~~字数
作者: hanyeguxing 时间: 2010-4-8 21:08
“字符串截取”:%a:~[m[,n]]%
%a:~0,n% 取左边n位
%a:~-m% 取右边m位
%a:~m,n% 从m+1位开始取n位
%a:~m,-n% 从m+1位开始,至倒数n+1位
%a:~m % 从m+1位开始取右边全部。
作者: jsjcjsjc 时间: 2010-4-8 21:46
原帖由 hanyeguxing 于 2010-4-8 21:08 发表
“字符串截取”:%a:~[m[,n]]%
%a:~0,n% 取左边n位
%a:~-m% 取右边m位
%a:~m,n% 从m+1位开始取n位
%a:~m,-n% 从m+1位开始,至倒数n+1位
%a:~m % 从m+1位开始取右边全部。
WOW 学习了
那怎么匹配是第几行呢?
[ 本帖最后由 jsjcjsjc 于 2010-4-8 21:56 编辑 ]
作者: GNU 时间: 2010-4-8 22:11
set命令的字符串截取功能只是对于单行而言的,不能匹配第几行。
欢迎光临 批处理之家 (http://bathome.net./) |
Powered by Discuz! 7.2 |