中国DOS联盟论坛

中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --

联盟域名:www.cn-dos.net  论坛域名:www.cn-dos.net/forum
DOS,代表着自由开放与发展,我们努力起来,学习FreeDOS和Linux的自由开放与GNU精神,共同创造和发展美好的自由与GNU GPL世界吧!

游客:  注册 | 登录 | 命令行 | 会员 | 搜索 | 上传 | 帮助 »
作者:
标题: 文本处理 大家帮一下忙 上一主题 | 下一主题
buypro
新手上路





积分 15
发帖 15
注册 2010-8-25
状态 离线
『楼 主』:  文本处理 大家帮一下忙

我有个文本 是这样的格式

  Quote:
-------------------------------------------------------------------------------
   ROBOCOPY     ::     Robust File Copy for Windows     ::     Version XP010
-------------------------------------------------------------------------------

  Started : Sat Oct 02 22:47:20 2010

   Source = R:\lftp\
     Dest = R:\-10-02\

    Files : *.*
            
  Options : *.* /FP /NS /NDL /L /S /E /COPY:DAT /PURGE /MIR /NP /R:1000000 /W:30

------------------------------------------------------------------------------

            Newer                             R:\lftp\lftp-install.txt
            New File                          R:\lftp\lftp-install.txt.bak

------------------------------------------------------------------------------

                Total    Copied   Skipped  Mismatch    FAILED    Extras
     Dirs :         2         0         2         0         0         0
    Files :        11         2         9         0         0         0
    Bytes :    1.81 m     5.4 k    1.81 m         0         0         0
    Times :   0:00:00   0:00:00                       0:00:00   0:00:00

    Ended : Sat Oct 02 22:47:20 2010

我感兴趣的是 就是文件名和路径
------------------------------------------------------------------------------

            Newer             R:\lftp\lftp-install.txt
            New File          R:\lftp\lftp-install.txt.bak

------------------------------------------------------------------------------

怎么才能提取出来文件名和路径并显示出来???或写入另一个文件?


我用了下面代码 但是总也无法成功。到底该怎么做???
for /f "tokens=1,2 delims=New  " %%a in (  R:\log.txt  ^| find "New"   )   do (
   
  echo   显示文件名 R:\lftp\lftp-install.txt

)


也就是结果要显示为
R:\lftp\lftp-install.txt
R:\lftp\lftp-install.txt.bak


先谢谢大家了

[ Last edited by buypro on 2010-10-2 at 23:49 ]

2010-10-2 23:47
查看资料  发短消息 网志   编辑帖子  回复  引用回复
726842270
初级用户

枫中残雪


积分 65
发帖 43
注册 2010-4-29
来自 吉林省长春市
状态 离线
『第 2 楼』:  

不知道是不是这样
@echo off
for /f "tokens=2 delims=R" %%i in ('findstr /i "New" log.txt') do echo R%%i >>a.txt
pause

2010-10-3 03:25
查看资料  发送邮件  发短消息 网志  OICQ (726842270)  编辑帖子  回复  引用回复
buypro
新手上路





积分 15
发帖 15
注册 2010-8-25
状态 离线
『第 3 楼』:  

感谢枫中残雪的帮助
但是我发现个小问题 以  delims=R:  作为分隔符的话 如果文件或者路径里含有R 那将得不到想要的结果了。

比如下面例子 有多层目录结构 含有多个字母"R"

------------------------------------------------------------------------------

    Newer                             R:\lftp\lftp-install.txt
    New File                          R:\xRRftp\lRRft\lRRft\lftp-install.RRtxt.bak

------------------------------------------------------------------------------



@echo off
for /f "tokens=2 delims=R:" %%i in ('findstr /i "New" log.txt') do echo R:%%i >>a.txt

  


得出结果将是

  Quote:
R:\lftp\lftp-install.txt
R:\x

为什么 xRRftp\lRRft\lRRft\lftp-install.RRtxt.bak 过滤后成了  "X"
因怎么改?

[ Last edited by buypro on 2010-10-3 at 07:38 ]

2010-10-3 06:53
查看资料  发短消息 网志   编辑帖子  回复  引用回复
726842270
初级用户

枫中残雪


积分 65
发帖 43
注册 2010-4-29
来自 吉林省长春市
状态 离线
『第 4 楼』:  

不好意思。没想那么多,改了一下,这回再试试
@echo off
for /f "tokens=2* delims=R" %%i in ('findstr /i "New"

log.txt') do echo R%%i%%j >>a.txt
pause

2010-10-3 09:43
查看资料  发送邮件  发短消息 网志  OICQ (726842270)  编辑帖子  回复  引用回复
buypro
新手上路





积分 15
发帖 15
注册 2010-8-25
状态 离线
『第 5 楼』:  



  Quote:
Originally posted by 726842270 at 2010-10-3 09:43:
不好意思。没想那么多,改了一下,这回再试试
@echo off
for /f "tokens=2* delims=R" %%i in ('findstr /i "New"

log.txt') do echo R%%i%%j >>a.txt
pause

谢谢 枫中残雪


真是太好了。


tokens=2*  那个星号代表通配符吗????



我另开一帖 关于增量备份 希望大家能来看看 谈谈想法。http://www.cn-dos.net/forum/view ... 2589&sid=99WNkE

常见增量备份工具很多。。但是一般都是增量备份而已。 对老文件一般都是覆盖而无法做到改名。

我的做法是 源文件改了。 备份文件中的老文件被按规律改名保存 然后再 在生成一个和源文件一样的备份文件。 这样可以无限制生成很多个 改名备份文件。 你可以利用这些改名备份文件恢复到任意次备份前的状态  这对经常需要编辑修改文件的人很有用。 相信明白的人自然明白。(可能我拙于表达 )

[ Last edited by buypro on 2010-10-4 at 09:47 ]

2010-10-4 09:26
查看资料  发短消息 网志   编辑帖子  回复  引用回复
buypro
新手上路





积分 15
发帖 15
注册 2010-8-25
状态 离线
『第 6 楼』:  

case closed

[ Last edited by buypro on 2010-10-4 at 23:03 ]

2010-10-4 14:26
查看资料  发短消息 网志   编辑帖子  回复  引用回复

请注意:您目前尚未注册或登录,请您注册登录以使用论坛的各项功能,例如发表和回复帖子等。


可打印版本 | 推荐给朋友 | 订阅主题 | 收藏主题



论坛跳转: