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

[文本处理] 批处理如何实现在文本中截取一段文字?

[复制链接]
发表于 2025-10-7 15:26:10 | 显示全部楼层 |阅读模式
从文本中截取指定网卡配置,从开始位置截取能实现,不能实现在指定位置结束,请高手指点!
注:从多网卡中截取指定一个网卡配置,其它的不要。
  1. @echo off
  2. setlocal enabledelayedexpansion

  3. cd /d %~dp0
  4. echo loading...
  5. hostname > infoTmp.txt

  6. REM 指定要截取的网卡名称
  7. set DstCard=“以太网适配器 VirtualBox Host-Only Network”
  8. REM 把ipconfig信息写入文件
  9. ipconfig /all>"%temp%\ipList.txt"
  10. REM 获得指定网卡在文本中的开始行号
  11. for /f "tokens=1 delims=:" %%a in ('findstr /n "%DstCard%" "%temp%\ipList.txt"') do set ipRow=%%a

  12. REM 从指定行号开始截取信息一直到文本结束,希望截取完指定网卡信息后停止。
  13. set /a dstRow=ipRow-1
  14. for /f "usebackq skip=%dstRow% tokens=1,2 delims=:" %%a in ("%temp%\ipList.txt") do (
  15.   echo %%a %%b >> infoTmp.txt
  16. )

  17. pause
复制代码
发表于 2025-10-7 16:20:54 | 显示全部楼层
本帖最后由 aloha20200628 于 2025-10-7 16:36 编辑

回复 1# tomtangfish

  1. @echo off &setlocal &ipconfig /all>#.$
  2. for /f "tokens=1* delims=:" %%a in ('findstr /in "以太网适配器 VirtualBox Host-Only Network" #.$') do set "n=%%a" &set "h=%%b"
  3. ( echo,%h%&for /f "skip=%n% delims=" %%a in (#.$) do (
  4.    set "v=%%a" &setlocal enabledelayedexpansion
  5.    if "!v:~,1!"==" " (echo,%%a) else goto:[q]
  6.    endlocal) )>infoTmp.txt
  7. :[q]
  8. del /q #.$ &pause&exit/b
复制代码
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-3-17 07:08 , Processed in 0.018604 second(s), 8 queries , File On.

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

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