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

[文本处理] 【已解决】文本处理BAT代码整理优化提高效率

[复制链接]
发表于 2014-6-19 10:21:02 | 显示全部楼层 |阅读模式
本帖最后由 web 于 2014-6-21 19:53 编辑

htm文件会持续更新

  1. :loop2  
  2. for /f "delims=" %%a in ('dir /b /a *.html') do (
  3. for /f "delims=.html" %%b in ("%%a") do (
  4. ::
  5. echo %%b
  6. set s=%%a
  7. set d=%%b


  8. call 2.bat


  9. )

  10. )

  11. goto loop2

复制代码
2.bat


  1. for /f %%b in ('dir /b  /od *.html') do (
  2. set "fn=%%b"

  3. if %s%==%fn% goto xin
  4. )
  5. ::目的是不处理最新的那一个  能不能保留3个最新的文件

  6. grep 查看详细信息  %s%>%d%.txt
  7. grep 身高: %s%>>%d%.txt
  8. grep 信用等级   %s%>>%d%.txt
  9. grep mobile.png  %s%>>%d%.txt
  10. iconv.exe -f utf-8 -t gb2312 %d%.txt>%d%.asp

  11. del %s%
  12. del %d%.txt
  13. findstr "女," %d%.asp>nul&& goto 1 ||goto loop
  14. :1

  15. echo %d%>>全部女.txt
  16. findstr "18岁" %d%.asp>nul&& goto 18 ||echo  loop>nul
  17. findstr "19岁" %d%.asp>nul&& goto 18 ||echo  loop>nul
  18. findstr "20岁" %d%.asp>nul&& goto 18 ||echo  loop>nul
  19. findstr "21岁" %d%.asp>nul&& goto 18 ||echo  loop>nul
  20. findstr "22岁" %d%.asp>nul&& goto 18 ||echo  loop>nul
  21. findstr "23岁" %d%.asp>nul&& goto 18 ||echo  loop>nul
  22. findstr "24岁" %d%.asp>nul&& goto 18 ||echo  loop>nul
  23. findstr "25岁" %d%.asp>nul&& goto 18 ||echo  loop>nul
  24. findstr "26岁" %d%.asp>nul&& goto 18 ||echo  loop>nul
  25. findstr "27岁" %d%.asp>nul&& goto 18 ||echo  loop>nul
  26. findstr "28岁" %d%.asp>nul&& goto 18 ||echo  loop>nul
  27. findstr "29岁" %d%.asp>nul&& goto 18 ||goto  loop
  28. :18

  29. echo %d%>>符合年龄.txt
  30. findstr /c:"163厘米" %d%.asp>nul>nul&& goto 168 ||echo  loop>nul
  31. findstr /c:"164厘米" %d%.asp>nul>nul&& goto 168 ||echo  loop>nul
  32. findstr /c:"165厘米" %d%.asp>nul>nul&& goto 168 ||echo  loop>nul
  33. findstr /c:"166厘米" %d%.asp>nul>nul&& goto 168 ||echo  loop>nul
  34. findstr /c:"167厘米" %d%.asp>nul>nul&& goto 168 ||echo  loop>nul
  35. findstr /c:"168厘米" %d%.asp>nul>nul&& goto 168 ||echo  loop>nul
  36. findstr /c:"169厘米" %d%.asp>nul>nul&& goto 168 ||echo  loop>nul
  37. findstr /c:"170厘米" %d%.asp>nul>nul&& goto 168 ||echo  loop>nul
  38. findstr /c:"171厘米" %d%.asp>nul>nul&& goto 168 ||echo  loop>nul
  39. findstr /c:"172厘米" %d%.asp>nul>nul&& goto 168 ||echo  loop>nul
  40. findstr /c:"173厘米" %d%.asp>nul>nul&& goto 168 ||echo  loop>nul
  41. findstr /c:"174厘米" %d%.asp>nul>nul&& goto 168 ||echo  loop>nul
  42. findstr /c:"175厘米" %d%.asp>nul>nul&& goto 168 ||echo  loop>nul
  43. findstr /c:"176厘米" %d%.asp>nul>nul&& goto 168 ||goto loop
  44. :168
  45. echo %d%>>符合身高.txt
  46. findstr "信用等级" %d%.asp>nul&& goto mobile ||echo  loop>nul
  47. findstr /c:"mobile.png" %d%.asp>nul&& goto mobile ||goto loop
  48. :mobile
  49. echo %d%>>符合信用.txt
  50. findstr "信用等级" %d%.asp>nul&& goto 信用 ||goto 无
  51. :信用
  52. echo %d%>>信用.txt
  53. goto loop
  54. :无
  55. echo %d%>>无信用.txt
  56. goto loop
  57. :loop
  58. del /a %d%.asp
  59. echo 循环结束

  60. :xin



复制代码

评分

参与人数 1PB +2 收起 理由
Batcher + 2 感谢给帖子标题标注[已解决]字样

查看全部评分

发表于 2014-6-19 10:58:23 | 显示全部楼层
  1. findstr "18岁" %d%.asp>nul&& goto 18 ||echo  loop>nul
  2. findstr "19岁" %d%.asp>nul&& goto 18 ||echo  loop>nul
  3. findstr "20岁" %d%.asp>nul&& goto 18 ||echo  loop>nul
  4. findstr "21岁" %d%.asp>nul&& goto 18 ||echo  loop>nul
  5. findstr "22岁" %d%.asp>nul&& goto 18 ||echo  loop>nul
  6. findstr "23岁" %d%.asp>nul&& goto 18 ||echo  loop>nul
  7. findstr "24岁" %d%.asp>nul&& goto 18 ||echo  loop>nul
  8. findstr "25岁" %d%.asp>nul&& goto 18 ||echo  loop>nul
  9. findstr "26岁" %d%.asp>nul&& goto 18 ||echo  loop>nul
  10. findstr "27岁" %d%.asp>nul&& goto 18 ||echo  loop>nul
  11. findstr "28岁" %d%.asp>nul&& goto 18 ||echo  loop>nul
  12. findstr "29岁" %d%.asp>nul&& goto 18 ||goto  loop
复制代码
合并成一行:
  1. grep -q -E "1[89]岁|2[0-9]岁" %d%.asp && goto 18 || goto loop
复制代码

评分

参与人数 1技术 +1 收起 理由
web + 1 ok 不错

查看全部评分

发表于 2014-6-19 11:01:29 | 显示全部楼层
  1. findstr /c:"163厘米" %d%.asp>nul>nul&& goto 168 ||echo  loop>nul
  2. findstr /c:"164厘米" %d%.asp>nul>nul&& goto 168 ||echo  loop>nul
  3. findstr /c:"165厘米" %d%.asp>nul>nul&& goto 168 ||echo  loop>nul
  4. findstr /c:"166厘米" %d%.asp>nul>nul&& goto 168 ||echo  loop>nul
  5. findstr /c:"167厘米" %d%.asp>nul>nul&& goto 168 ||echo  loop>nul
  6. findstr /c:"168厘米" %d%.asp>nul>nul&& goto 168 ||echo  loop>nul
  7. findstr /c:"169厘米" %d%.asp>nul>nul&& goto 168 ||echo  loop>nul
  8. findstr /c:"170厘米" %d%.asp>nul>nul&& goto 168 ||echo  loop>nul
  9. findstr /c:"171厘米" %d%.asp>nul>nul&& goto 168 ||echo  loop>nul
  10. findstr /c:"172厘米" %d%.asp>nul>nul&& goto 168 ||echo  loop>nul
  11. findstr /c:"173厘米" %d%.asp>nul>nul&& goto 168 ||echo  loop>nul
  12. findstr /c:"174厘米" %d%.asp>nul>nul&& goto 168 ||echo  loop>nul
  13. findstr /c:"175厘米" %d%.asp>nul>nul&& goto 168 ||echo  loop>nul
  14. findstr /c:"176厘米" %d%.asp>nul>nul&& goto 168 ||goto loop
复制代码
合并成一行:
  1. grep -q -E "16[3-9]厘米|17[0-6]厘米" %d%.asp && goto 168 || goto loop
复制代码

评分

参与人数 1技术 +1 收起 理由
web + 1 谢谢 很好

查看全部评分

 楼主| 发表于 2014-6-19 11:23:03 | 显示全部楼层
本帖最后由 web 于 2014-6-19 12:28 编辑

回复 3# DAIC


    修改后不能转到 goto 18 而是直接goto loop 不能进行判断处理
找到原因了  处理文件写错了 应该是网页文件
修改后速度提高了很多
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-3-21 06:32 , Processed in 0.033317 second(s), 18 queries .

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

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