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

[文本处理] bat脚本文本提取把二级域名的都删掉?

bat 文本提取??

把二级域名的都删掉??

文本a.txt
1----2----3----aodajia.com/
1----2----3----aigu-mac.com/
1----2----3----aililai888.com.cn/
1----2----3----aoding120.cn/
1----2----3----www.aodng120.net/
1----2----3----www.aililai88.com.cn/
1----2----3----ss.ysgqw.cn/
1----2----3----sn6pn2.top.cutetat.com/
1----2----3----app.25731.net/

生成新文本b.txt
1----2----3----aodajia.com/
1----2----3----aigu-mac.com/
1----2----3----aililai888.com.cn/
1----2----3----aoding120.cn/
1----2----3----www.aodng120.net/
1----2----3----www.aililai88.com.cn/

本帖最后由 went 于 2022-3-26 23:03 编辑

test.bat
  1. @echo off & cd /d "%~dp0"
  2. setlocal enabledelayedexpansion
  3. (
  4. for /f "usebackq delims=" %%i in ("a.txt") do (
  5. for /f "tokens=3* delims=-" %%a in ("%%i") do (
  6. set /a "a=0,b=0,c=0" & set "line=%%b"
  7. if "!line:~-1!"=="/" set "line=!line:~0,-1!"
  8. for %%b in ("!line:.=" "!") do (
  9. set "d=0"
  10. for %%c in (www com cn net) do if "%%~b"=="%%c" set "d=1"
  11. if "!d!"=="0" ( set /a "a+=1" & set "b=1" ) else ( set "c=1" )
  12. )
  13. )
  14. if "!a!!b!!c!" equ "111" echo %%i
  15. )
  16. ) >"b.txt"
  17. pause&exit
复制代码

TOP

  1. for /F "tokens=1,2,3* delims=." %i in (test.txt) do (
  2.     set "line=%j"
  3.     if not "!line:~-1,1!"=="/" echo !line!
  4. )>new.txt
复制代码
大概思路就是这样,细节需要测试,因为没有测试过。
分割后判断第二个结尾有无’/’符,有的话是二级域名

TOP

回复 3# wujunkai


    建议还是测试一下吧,否则错误太多了。
我帮忙写的代码不需要付钱。如果一定要给,请在微信群或QQ群发给大家吧。
【微信公众号、微信群、QQ群】http://bbs.bathome.net/thread-3473-1-1.html
【支持批处理之家,加入VIP会员!】http://bbs.bathome.net/thread-67716-1-1.html

TOP

回复 2# went


    谢谢

TOP

回复 2# went


    1----2----3----ysgqw
    1----2----3----ysgqwee

这种不含 小数点   不是域名的   要去掉   怎么修改?

TOP

回复 6# idc878787


    2楼更新了

TOP

回复 2# went


    多谢

TOP

返回列表