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

[文本处理] [已解决]批处理不同行数的字符串提取的问题

[复制链接]
发表于 2015-1-21 20:21:39 | 显示全部楼层 |阅读模式
本帖最后由 fulijung 于 2015-1-22 18:48 编辑

我在做ftp处理时,得到以下有规律的文本,希望,在这里求大家帮忙解决,之前所发的帖子例子的目的也是这个意思
只不过没有说清楚,请大家帮忙处理一下,把下面文本处理成我想要的(目的就是把根目录与子目录连接成一行路径名
这样好进入相应的目录下)
原文件:
ftp: 收到 158 字节,用时 0.00Seconds 158000.00Kbytes/sec.
ftp> pwd
257 "/fulijungaa/web/加工部各课文件/生管组/正常订单放置区" is current directory.
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.
ftp: 收到 158 字节,用时 0.00Seconds 158000.00Kbytes/sec.
ftp> pwd
257 "/fulijungaa/web/加工部各课文件/生管组/本部订单放置区" is current directory.
01-18-15  04:30PM       <DIR>          np11412
01-18-15  09:20AM       <DIR>          修模  12345
01-18-15  09:20AM               158395 no12445.prt.20
226 Transfer complete.
ftp: 收到 158 字节,用时 0.00Seconds 158000.00Kbytes/sec.
ftp> pwd
257 "/fulijungaa/web/加工部各课文件/生管组/承接订单放置区" is current directory.
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


目标结果变成如下(这里不拐弯抹角了)期待高手解决

/fulijungaa/web/加工部各课文件/生管组/正常订单放置区/hzm10509
/fulijungaa/web/加工部各课文件/生管组/正常订单放置区/trd   12345
/fulijungaa/web/加工部各课文件/生管组/本部订单放置区/np11412
/fulijungaa/web/加工部各课文件/生管组/本部订单放置区/修模  12345
/fulijungaa/web/加工部各课文件/生管组/承接订单放置区/aaz20118806
/fulijungaa/web/加工部各课文件/生管组/承接订单放置区/设变订单 888
 楼主| 发表于 2015-1-21 20:33:48 | 显示全部楼层
前面有“<DIR>”字样的是一个文件夹目录, 与  “257 "/fulijungaa/web/加工部各课文件/生管组/本部订单放置区" is current directory”引号里的字符窜是我要提取的内容
发表于 2015-1-21 21:34:33 | 显示全部楼层
  1. @echo off
  2. setlocal enabledelayedexpansion
  3. (for /f usebackq^ tokens^=1-2^ delims^=^" %%i in (`findstr /c:"is current directory" /c:"<DIR>" 1.txt`) do (
  4.     if "%%j" neq "" (
  5.         set "pre=%%j"
  6.     ) else (
  7.         for /f "tokens=3*" %%a in ("%%i") do (
  8.             echo !pre!/%%b
  9.         )
  10.     )
  11. ))>2.txt
复制代码

评分

参与人数 1技术 +1 收起 理由
fulijung + 1 代码间接易懂,思维严谨,使我们初学者的偶 ...

查看全部评分

 楼主| 发表于 2015-1-21 22:03:51 | 显示全部楼层
谢谢大家帮忙,一个代码解决了工作中棘手的问题,愿我们的家园越办越好
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-3-19 19:21 , Processed in 0.019834 second(s), 8 queries , File On.

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

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