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

[文本处理] 批处理如何从文本中提取字符串?

现在有2个目录
  \log\xxxx\xx.txt
我现在的bat运行在 log 目录下 然后 其遍历文件夹 然后进入遍历文件夹下面的 txt 文件 查找 其中 [ip]  [url] 开头的行。。
[url] www.sssss ss s s s  d d d s d d s  d s d  d
[ip] sssssssssss s s ss  s s ss  ss sssssddddddddddddddddddddddddddd gg
我是想提取 [url]  【ip】 后面的内容 保存到 另外一个txt中。。
自己写了个 发现有问题啊 求指教
  1. @echo off
  2. set url=
  3. set ip=
  4. for /f %%i in ('dir /b /a:d') do (
  5. echo %%i
  6. for /f %%a in ('dir /b %%i\*.txt') do (
  7. set url=
  8. set ip=
  9. for /f "tokens=1,*" %%x in (%%i\%%a) do (
  10. if %%x==[url] set url="%%y%url%"
  11. if %%x==[ip] set ip="%%y%ip%"
  12. echo %url%
  13. )
  14. )
  15. )
复制代码

回复 1# xuxiao


    你是要遍历log目录下所有文件夹中的txt文件吗?还是仅仅这个目录的此txt文件?

TOP

  1. @echo off
  2. setlocal enabledelayedexpansion
  3. for /f %%i in ('dir /b /a:d') do (
  4.     echo %%i
  5.     for /f %%a in ('dir /b %%i\*.txt') do (
  6.         set url=
  7.         set ip=
  8.         for /f "tokens=1,*" %%x in (%%i\%%a) do (
  9.             if %%x==[url] set "url=%%y!url!"
  10.             if %%x==[ip] set "ip=%%y!ip!"
  11.         )
  12.         echo !url!
  13.         echo !ip!
  14.     )
  15. )
复制代码

TOP

回复 2# silience


    楼主说的很清楚,是前者。

TOP

返回列表