标题: [文本处理] 批处理如何根据输入的字符串操作文本中含有该字符串的行并截取/提取特定内容 [打印本页]
作者: keshun 时间: 2010-8-26 13:29 标题: 批处理如何根据输入的字符串操作文本中含有该字符串的行并截取/提取特定内容
本帖最后由 pcl_test 于 2017-3-22 09:43 编辑
请问高手,批处理显示指定文字对应的内容,该如何编写??
条件1.在批处理文件里输入“2265”或“小明”,对应查找1.txt文本内容,并在批处理中显示:
“2265小明2010-09-25”
条件2.在批处理文件里输入“100925”,对应查找1.txt文本内容,并在批处理中显示:
“2105小李2010-09-25”
“2265小明2010-09-25”
注:1.txt实际是三行文字,每行多段文字分隔为单个空格
1.txt文本内容如下
user=2105 bindlan=none cn=小李 uplimit=4-8 active=yes modules=pppoe passwd=2105 expire_since=2010-09-25 desc=- maxlogin=1 downlimit=50-180 bindmac=00-e0-a0-01-59-e5
user=2265 bindlan=none cn=小明 uplimit=3-4 active=yes modules=pppoe passwd=2265 expire_since=2010-09-25 desc=- maxlogin=1 downlimit=20-30 bindmac=00-90-27-93-30-3c
user=2174 bindlan=none cn=小刚 uplimit=3-4 active=yes modules=pppoe passwd=2174 expire_since=2010-09-10 desc=- maxlogin=1 downlimit=20-30 bindmac=00-21-70-ca-f3-19
[ 本帖最后由 keshun 于 2010-8-26 17:15 编辑 ]
作者: sgaizxt001 时间: 2010-8-26 20:40
这个高度智能哦,需要设置很多变量,不如找个人用C++弄一个结构体来给你查询
作者: keshun 时间: 2010-8-27 00:06
批处理同时实现两个条件是好难啊,不知那位高手愿意挑战!!!单实现条件1的批处理该如何编写??
作者: sleepinglord 时间: 2010-8-27 14:59
别用批处理行么?
我们的目的是要解决问题,不是挑战难度……
作者: lvsehuaxue 时间: 2011-5-29 11:01
- @echo off&setlocal enabledelayedexpansion
- set /p v=
- for /f "tokens=1-23 delims== " %%a in (a.txt) do (
- if %v% equ %%b echo %%b%%f%%p
- if %v% equ %%f echo %%b%%f%%p
- set "p=%%p"
- set "p=!p:-=!"
- if %v% equ !p:~-6! echo %%b%%f%%p
- )
- pause>nul
复制代码
作者: CrLf 时间: 2011-5-29 11:11
- @echo off
- set /p find=关键词
- echo %find%|findstr /x "...... ........"&&set find=%find:~,-4%-%find:~-4,2%-%find:~-2%
- findstr /l "%find%" 1.txt
- pause
复制代码
作者: batman 时间: 2011-5-29 12:47
很简单的问题,处理方案也多样,为什么都说不用批处理?
欢迎光临 批处理之家 (http://www.bathome.net/) |
Powered by Discuz! 7.2 |