找回密码
 注册
搜索
[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
查看: 27755|回复: 6

[文本处理] 批处理如何根据输入的字符串操作文本中含有该字符串的行并截取/提取特定内容

[复制链接]
发表于 2010-8-26 13:29:07 | 显示全部楼层 |阅读模式
本帖最后由 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 编辑 ]
发表于 2010-8-26 20:40:50 | 显示全部楼层
这个高度智能哦,需要设置很多变量,不如找个人用C++弄一个结构体来给你查询
 楼主| 发表于 2010-8-27 00:06:24 | 显示全部楼层
批处理同时实现两个条件是好难啊,不知那位高手愿意挑战!!!单实现条件1的批处理该如何编写??
发表于 2010-8-27 14:59:11 | 显示全部楼层
别用批处理行么?

我们的目的是要解决问题,不是挑战难度……
发表于 2011-5-29 11:01:29 | 显示全部楼层

  1. @echo off&setlocal enabledelayedexpansion
  2. set /p v=
  3. for /f "tokens=1-23 delims== " %%a in (a.txt) do (
  4.     if %v% equ %%b echo %%b%%f%%p
  5.     if %v% equ %%f echo %%b%%f%%p
  6.     set "p=%%p"
  7.     set "p=!p:-=!"
  8.     if %v% equ !p:~-6! echo %%b%%f%%p
  9.     )
  10. pause>nul
复制代码
发表于 2011-5-29 11:11:47 | 显示全部楼层
  1. @echo off
  2. set /p find=关键词
  3. echo %find%|findstr /x "...... ........"&&set find=%find:~,-4%-%find:~-4,2%-%find:~-2%
  4. findstr /l "%find%" 1.txt
  5. pause
复制代码
发表于 2011-5-29 12:47:12 | 显示全部楼层
很简单的问题,处理方案也多样,为什么都说不用批处理?
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|小黑屋|批处理之家 ( 渝ICP备10000708号 )

GMT+8, 2026-3-19 12:48 , Processed in 0.027240 second(s), 8 queries , File On.

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

快速回复 返回顶部 返回列表