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

[文本处理] [已解决]批处理如何提取含有指定字符串但不包含小数点"."的行

[复制链接]
发表于 2015-1-22 21:42:59 | 显示全部楼层 |阅读模式
本帖最后由 pcl_test 于 2016-11-26 02:39 编辑

002.txt文本如下,要求只提取包含“<DIR>”但不包括有“.” 的行

ftp> pwd
257 "/fulijungaa/web/加工部各课文件/生管组/正常订单放置区" is current directory.
01-18-15  04:30PM       <DIR>          .
01-18-15  04:30PM       <DIR>          ..
01-18-15  04:30PM       <DIR>          hzm10509
01-18-15  09:20AM       <DIR>          trd   12345
01-18-15  09:20AM               158444 wd0123456.prt.23
226 Transfer complete.
257 "/fulijungaa/web/加工部各课文件/生管组/本部订单放置区" is current directory.
01-18-15  04:30PM       <DIR>          .
01-18-15  04:30PM       <DIR>          ..
01-18-15  04:30PM       <DIR>          np11412
01-18-15  09:20AM       <DIR>          修模  12345
01-18-15  09:20AM               158395 no12445.prt.20
ftp> pwd
257 "/fulijungaa/web/加工部各课文件/生管组/承接订单放置区" is current directory.
01-18-15  04:30PM       <DIR>          .
01-18-15  04:30PM       <DIR>          ..
01-18-15  04:30PM       <DIR>          aaz20118806
01-18-15  09:20AM       <DIR>          设变订单 888
01-18-15  09:20AM               158395 adf006.prt.15
226 Transfer complete.
ftp> bye
处理成如下内容
01-18-15  04:30PM       <DIR>          hzm10509
01-18-15  09:20AM       <DIR>          trd   12345
01-18-15  04:30PM       <DIR>          np11412
01-18-15  09:20AM       <DIR>          修模  12345
01-18-15  04:30PM       <DIR>          aaz20118806
01-18-15  09:20AM       <DIR>          设变订单 888

下面代码无法运行啊,是不是要用什么转义符呢?
@echo off
for /f  %%i in ('findstr /v " . .. " 002.txt | findstr "<DIR>" ' ) do (
echo  %%i
)

评分

参与人数 1PB +2 收起 理由
Batcher + 2 感谢给帖子标题标注[已解决]字样

查看全部评分

发表于 2015-1-22 21:46:58 | 显示全部楼层
@echo off
for /f  %%i in ('findstr /v " . .. " 002.txt ^| findstr "<DIR>" ' ) do (
echo  %%i
)
发表于 2015-1-22 22:01:14 | 显示全部楼层
@echo off
for /f  %%i in ('findstr /v " . .. " 002.txt ^| findstr "" ' ) do (
echo  %%i
)
Batcher 发表于 2015-1-22 21:46



    BATCHER 俺是蝗虫 这么写可是达不到效果的。。FINDSTR我用的不多 我写出来的如下
  1. @echo off
  2. for /f  "tokens=*" %%i in ('findstr /v /c:".." 1.txt^|findstr /v /c:"."^| findstr "<DIR>"' ) do (
  3. echo  %%i
  4. )
  5. pause
复制代码

评分

参与人数 1技术 +1 收起 理由
CrLf + 1 蝗虫

查看全部评分

发表于 2015-1-22 22:06:33 | 显示全部楼层

  1. @echo off
  2. (for /f "tokens=*" %%i in ('findstr /l /v "." 1.txt') do (
  3.     echo,%%i
  4. )) >2.txt
  5. pause
复制代码
我这里测试可以,你试下

  1. @echo off&setlocal enabledelayedexpansion
  2. for /f "tokens=*" %%i in ('findstr /l /v "." 1.txt') do (
  3.     set "_%%i=$"
  4. )
  5. for /f "tokens=1-3 delims=_,=" %%i in ('set _') do (
  6.     set "str=%%i"&if not "!str:~,3!"=="ftp" echo,%%i
  7. )
  8. pause
复制代码
这个也可以,你用下。
 楼主| 发表于 2015-1-22 22:06:47 | 显示全部楼层
本帖最后由 fulijung 于 2015-1-22 22:18 编辑

谢谢各位前辈,可能是我的误导
发表于 2015-1-22 22:13:25 | 显示全部楼层
回复 3# ak47b21b21


    我只是告诉他那个转义符号的语法。至于其它功能方面的代码,由于写的太烂我没有看。
 楼主| 发表于 2015-1-22 22:20:38 | 显示全部楼层
由于初学,请大家多多见谅
发表于 2015-1-22 22:37:03 | 显示全部楼层
回复 7# fulijung


    你可以试试如果有个文件夹叫做 A.B 那些代码会怎么样
发表于 2015-1-23 00:15:25 | 显示全部楼层
  1. findstr /i "<DIR>.*[^.]$" a.txt
复制代码
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-3-20 12:21 , Processed in 0.023307 second(s), 9 queries , File On.

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

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