[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖

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

本帖最后由 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
)
1

评分人数

    • Batcher: 感谢给帖子标题标注[已解决]字样PB + 2

  1. findstr /i "<DIR>.*[^.]$" a.txt
复制代码

TOP

回复 7# fulijung


    你可以试试如果有个文件夹叫做 A.B 那些代码会怎么样

TOP

由于初学,请大家多多见谅

TOP

回复 3# ak47b21b21


    我只是告诉他那个转义符号的语法。至于其它功能方面的代码,由于写的太烂我没有看。
我帮忙写的代码不需要付钱。如果一定要给,请在微信群或QQ群发给大家吧。
【微信公众号、微信群、QQ群】http://bbs.bathome.net/thread-3473-1-1.html
【支持批处理之家,加入VIP会员!】http://bbs.bathome.net/thread-67716-1-1.html

TOP

本帖最后由 fulijung 于 2015-1-22 22:18 编辑

谢谢各位前辈,可能是我的误导

TOP

  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
复制代码
这个也可以,你用下。
踏实一些点.不要着急.你想要的时间都会给你.2

TOP

@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

评分人数

TOP

@echo off
for /f  %%i in ('findstr /v " . .. " 002.txt ^| findstr "<DIR>" ' ) do (
echo  %%i
)
我帮忙写的代码不需要付钱。如果一定要给,请在微信群或QQ群发给大家吧。
【微信公众号、微信群、QQ群】http://bbs.bathome.net/thread-3473-1-1.html
【支持批处理之家,加入VIP会员!】http://bbs.bathome.net/thread-67716-1-1.html

TOP

返回列表