Board logo

标题: [文本处理] 【已解决】文本处理BAT代码整理优化提高效率 [打印本页]

作者: web    时间: 2014-6-19 10:21     标题: 【已解决】文本处理BAT代码整理优化提高效率

本帖最后由 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
复制代码

作者: DAIC    时间: 2014-6-19 10:58

  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
复制代码

作者: DAIC    时间: 2014-6-19 11:01

  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
复制代码

作者: web    时间: 2014-6-19 11:23

本帖最后由 web 于 2014-6-19 12:28 编辑

回复 3# DAIC


    修改后不能转到 goto 18 而是直接goto loop 不能进行判断处理
找到原因了  处理文件写错了 应该是网页文件
修改后速度提高了很多




欢迎光临 批处理之家 (http://www.bathome.net/) Powered by Discuz! 7.2