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

[文本处理] 批处理如何提取文本中列出的指定扩展名/后缀文件的路径以及文件夹/目录的路径?

[复制链接]
发表于 2010-5-25 21:55:31 | 显示全部楼层 |阅读模式
本帖最后由 pcl_test 于 2017-4-11 23:58 编辑

/adminmember.asp
/adminuser/
/guanli/
/member/
/admin/admin_6list.asp
/admin/Select_feedback.asp
/adsystem/index.asp
/asp/admin/login.asp
/new/admin_index.asp
/weihu/login.asp
/xtadmin/
/cgi_bin/
/bbs/admin_index.asp
/admin/data/qcdn_news.mdb
/database/NewCloud6.mdb
/admin/ydxzdate.asa
/data/db1.mdb
/data/12912.asp
/database/yiuwekdsodksldfslwifds.mdb

-------------------我想把 .asp 后缀的那行,全都提取出来到文本2,请问这个该如何以批处理实现??

-----我还想提取 文本中,以路径存在的

如:
/editorfiles/
/editorfile/
/editfile/
/weditor/
/weditorfile/
/weditorfiles/
/editor1/
/weditor1/
/adminusers/
/ldjadmin/
/databack/article.mdb
/sysopadmin/

请问如何提取??

二楼的朋友答案非常不错,findstr这条指令我朋友说以前还没遇到过呢,呵呵

[ 本帖最后由 Rasm 于 2010-5-25 22:54 编辑 ]
发表于 2010-5-25 22:03:17 | 显示全部楼层
  1. findstr /e /l /i ".asp" 1.txt>2.txt
复制代码
发表于 2010-5-25 22:32:01 | 显示全部楼层
我觉得对这样的强制使用/c:".asp"比较好一点
 楼主| 发表于 2010-5-25 22:37:52 | 显示全部楼层
原帖由 sgaizxt001 于 2010-5-25 22:32 发表
我觉得对这样的强制使用/c:".asp"比较好一点

太犀利了。刚朋友还发我他写的语句:

@echo off
for /f %%i in (a.txt) do echo %%i | find "asp"&&echo %%i>>b.txt
pause

------现在我还想提取 文本中,以路径存在的

如:
/editorfiles/
/editorfile/
/editfile/
/weditor/
/weditorfile/
/weditorfiles/
/editor1/
/weditor1/
/adminusers/
/ldjadmin/
/databack/article.mdb
/sysopadmin/

请问如何提取??原理与题目类似
发表于 2010-5-25 22:44:56 | 显示全部楼层
以路径存在的字符串是怎么定义的?
问到了两个问题,要么拆分主题,要么把标题修改一下以囊括这两个问题。
 楼主| 发表于 2010-5-25 22:54:55 | 显示全部楼层
我还是整合在一起吧,比较好点
发表于 2010-5-25 23:21:16 | 显示全部楼层
以路径存在的是什么意思?最后一个字符是“/”吗?那为什么会出现/databack/article.mdb
 楼主| 发表于 2010-5-25 23:24:00 | 显示全部楼层

回复 7楼 的帖子

最后一个字符是“/”,
文本中有 /databack/article.mdb是因为我想把一个文本中有asp,php,aspx,mdb后缀的文件全部独立提取出来,
刚第一个问题是提取了文本中 asp后缀的内容,现在想提取 独立提取 路径
 楼主| 发表于 2010-5-25 23:25:46 | 显示全部楼层
我的文本里是这样的,有很多后缀形式的内容在里面,而我现在就只想提取 路径

不知道大家理解了没,不过相信 2楼的朋友已经懂了
发表于 2010-5-25 23:28:06 | 显示全部楼层
  1. findstr /e /l /i /c:"/" 1.txt >>tmp_.txt
复制代码
你看看这个是不是你想要的,这里把 / 换成其他任意后缀名的都可以提取,比如findstr /e /l /i /c:".asp" 1.txt >>tmp_.txt提取后缀是.asp的,或者findstr /e /l /i /c:".mdb" 1.txt >>tmp_.txt提取后缀是.mdb的。变通一下就可以

[ 本帖最后由 sgaizxt001 于 2010-5-25 23:33 编辑 ]
发表于 2010-5-25 23:59:48 | 显示全部楼层
搜索行尾.asp或.php或.aspx或.mdb
  1. findstr /e /l /i ".asp .php .aspx .mdb" 1.txt>2.txt
复制代码
搜索行尾/
  1. findstr /e /i /c:"/" 1.txt>2.txt
复制代码
 楼主| 发表于 2010-5-26 08:35:46 | 显示全部楼层
嗯,效果很好,可问下,为什么提取路径,需要用到C盘的路径???/
第一个问题,提取后缀,为什么楼上的没用到 c:"/",而提取路径却用到了
发表于 2010-5-26 21:58:50 | 显示全部楼层
/是特殊字符,用/c参数把他规定为普通字符去查找
 楼主| 发表于 2017-4-11 23:49:42 | 显示全部楼层
回复 11# hanyeguxing


    文本数据超过100MB,批处理就不行了,是否文本太大
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-3-17 15:41 , Processed in 0.017879 second(s), 8 queries , File On.

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

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