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

[文本处理] bat脚本怎样提取文本以逗号分割的前16个字符?

[复制链接]
发表于 2022-4-25 22:02:31 | 显示全部楼层 |阅读模式
bat提取 a,b文本行 格式  以 逗号, 分割 。  a(前16个字符)=b(前16个字符) 的文本行???怎么写?


a(前16个字符)    =     b(前16个字符) 的文本行。   


文本1.txt
www.diffordsguide...,www.fordsky.com
www.nvidia.com,www.fordsky.com
gitee.com,www.learn2link.com
www.walmart.com,www.learn2link.com
www.swkong.com,www.junhengjs.com
csol.tiancity.com...,www.junhengjs.com
www.cnphotoshop.c...,www.cnphotoshop.com
www.shabasoku.com...,www.shabasoku.com
www.shoku.com,www.shoku.com


提取这3个
www.cnphotoshop.c...,www.cnphotoshop.com
www.shabasoku.com...,www.shabasoku.com
www.shoku.com,www.shoku.com
发表于 2022-4-25 22:54:14 | 显示全部楼层
  1. @echo off & cd /d "%~dp0"
  2. setlocal enabledelayedexpansion
  3. REM 输入输出文件
  4. set "in_txt=1.txt"
  5. set "out_txt=2.txt"
  6. REM 提取的域名
  7. set "host_list=cnphotoshop shabasoku shoku"
  8. (
  9.         for /f "tokens=1* delims=," %%i in ('findstr "%host_list%" "%in_txt%"') do (
  10.                 set "a=%%i"
  11.                 set "b=%%j"
  12.                 echo !a:~0,16! = !b:~0,16!
  13.         )
  14. )>"%out_txt%"
  15. pause&exit
复制代码
 楼主| 发表于 2022-4-25 23:16:01 | 显示全部楼层
回复 2# went


数据很多。怎么只提取了3个,提取出来的数如下。跟我说的不大一样?

www.cnphotoshop. = www.cnphotoshop.
www.shabasoku.co = www.shabasoku.co
www.shoku.com = www.shoku.com
发表于 2022-4-25 23:24:02 | 显示全部楼层
回复 3# idc878787


    代码是提取包含第七行列出的域名的信息,逗号两边各取前16个字符
不知道你的实际需求是什么
 楼主| 发表于 2022-4-25 23:32:21 | 显示全部楼层
回复 4# went


    文本1.txt    我发的内容还有很多。只发了部分内容

我要提取的是。  a(前16字符) 等于b(前16字符)    的  文本行。 ???
发表于 2022-4-25 23:39:45 | 显示全部楼层
第七行改成下面,这个结果吗
  1. set "host_list=.*"
复制代码
 楼主| 发表于 2022-4-25 23:47:04 | 显示全部楼层
回复 6# went

不对。我要的是

  例如  文本1.txt
www.diffordsguide...,www.fordsky.com
www.nvidia.com,www.fordsky.com
gitee.com,www.learn2link.com
www.walmart.com,www.learn2link.com
www.swkong.com,www.junhengjs.com
csol.tiancity.com...,www.junhengjs.com
www.cnphotoshop.c...,www.cnphotoshop.com
www.shabasoku.com...,www.shabasoku.com
www.shoku.com,www.shoku.com


生成文本2.txt
www.cnphotoshop.c...,www.cnphotoshop.com
www.shabasoku.com...,www.shabasoku.com
www.shoku.com,www.shoku.com
发表于 2022-4-25 23:55:02 | 显示全部楼层
回复 7# idc878787
  1. @echo off & cd /d "%~dp0"
  2. setlocal enabledelayedexpansion
  3. REM 输入输出文件
  4. set "in_txt=1.txt"
  5. set "out_txt=2.txt"
  6. (
  7.         for /f "usebackq tokens=1* delims=," %%i in ("%in_txt%") do (
  8.                 set "a=%%i"
  9.                 set "b=%%j"
  10.                 if "!a:~0,16!"=="!b:~0,16!" echo %%i,%%j
  11.         )
  12. )>"%out_txt%"
  13. pause&exit
复制代码
 楼主| 发表于 2022-4-25 23:59:29 | 显示全部楼层
回复 8# went


   万分感谢。 要说就是这个
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-3-20 05:52 , Processed in 0.028511 second(s), 8 queries , File On.

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

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