Board logo

标题: [文本处理] 【已解决】批处理如何根据关键字文本对目录文本分类? [打印本页]

作者: pan528    时间: 2013-7-21 16:45     标题: 【已解决】批处理如何根据关键字文本对目录文本分类?

本帖最后由 pan528 于 2013-7-21 22:41 编辑

一、要求:
1、文本行被前面的“关键字”导出,后面的“关键字”不再使用;
2、没被筛选的单独标出,以便重新设置“关键字”再次筛选;
3、目录文本筛选的量比较大,最好能考虑效率问题。
二、材料示例
1、目录文本
  1. 中华人民共和国资源税暂行条例
  2. 中华人民共和国增值税暂行条例
  3. 中华人民共和国营业税暂行条例
  4. 中华人民共和国印花税暂行条例
  5. 中华人民共和国烟叶税暂行条例
  6. 中华人民共和国消费税暂行条例
  7. 中华人民共和国土地增值税暂行条例
  8. 中华人民共和国税收征收管理法实施细则
  9. 中华人民共和国契税暂行条例
  10. 中华人民共和国企业所得税法实施条例
  11. 中华人民共和国进出口关税条例
  12. 中华人民共和国合伙企业登记管理办法
  13. 中华人民共和国国务院关于经济特区和沿海十四个港口城市减征、免征企业所得税和工商统一税的暂行规定
  14. 中华人民共和国固定资产投资方向调节税暂行条例
  15. 中华人民共和国耕地占用税暂行条例
  16. 中华人民共和国房产税暂行条例
  17. 中华人民共和国**管理办法
  18. 中华人民共和国城镇土地使用税暂行条例
  19. 中华人民共和国城市维护建设税暂行条例
  20. 中华人民共和国车辆购置税暂行条例
  21. 中华人民共和国车船税暂行条例
  22. 中华人民共和国车船税法实施条例
  23. 征收教育费附加的暂行规定
  24. 社会保险费征缴暂行条例
  25. 企业财务会计报告条例
  26. 国务院关于暂将中国石油天然气股份有限公司、中国石油化工股份有限公司缴纳的企业所得税继续作为中央收入的通知
  27. 国务院关于修改《中华人民共和国资源税暂行条例》的决定
  28. 国务院关于修改《中华人民共和国个人所得税法实施条例》的决定
  29. 国务院关于修改《中华人民共和国**管理办法》的决定
  30. 国务院关于修改《中华人民共和国对外合作开采陆上石油资源条例》的决定
  31. 国务院关于修改《中华人民共和国对外合作开采海洋石油资源条例》的决定
  32. 国务院关于修改《征收教育费附加的暂行规定》的决定
  33. 国务院关于修改《对储蓄存款利息所得征收个人所得税的实施办法》的决定
  34. 国务院关于完善中央与地方出口退税负担机制的通知
  35. 国务院关于外商投资企业和外国企业适用增值税、消费税、营业税等税收暂行条例有关问题的通知
  36. 国务院关于统一内外资企业和个人城市维护建设税和教育费附加制度的通知
  37. 国务院关于试办国家旅游度假区有关问题的通知
  38. 国务院关于实施企业所得税过渡优惠政策的通知
  39. 国务院关于实施成品油价格和税费改革的通知
  40. 国务院关于取消集市交易税、牲畜交易税、烧油特别税、奖金税、工资调节税和将屠宰税、筵席税下放给地方管理的通知
  41. 国务院关于批准国家高新技术产业开发区和有关政策规定的通知
  42. 国务院关于开征石油特别收益金的决定
  43. 国务院关于经济特区和上海浦东新区新设立高新技术企业实行过渡性税收优惠的通知
  44. 国务院关于进一步促进中小企业发展的若干意见
  45. 国务院关于教育费附加征收问题的紧急通知
  46. 国务院关于加强土地调控有关问题的通知
  47. 国务院关于改革现行出口退税机制的决定
  48. 国务院关于调整进口设备税收政策的通知
  49. 国务院关于调整金融保险业税收政策有关问题的通知
  50. 国务院关于《北京市新技术产业开发试验区暂行条例》
  51. 国务院办公厅转发民政部等部门关于扶持城镇退役士兵自谋职业优惠政策意见的通知
  52. 国务院办公厅转发科技部等部门关于非营利性科研机构管理的若干意见(试行)的通知
  53. 国务院办公厅转发建设部等部门关于做好稳定住房价格工作意见的通知
  54. 国务院办公厅转发国务院西部开发办关于西部大开发若干政策措施实施意见的通知
  55. 国务院办公厅转发国家税务总局关于全面推广应用增值税防伪税控系统意见的通知
  56. 国务院办公厅关于转发《国家税务总局关于调整国家税务局、地方税务局税收征管范围的意见》的通知
  57. 国务院办公厅关于保留部分非行政许可审批项目的通知(节选)
  58. 对储蓄存款利息所得征收个人所得税的实施办法
  59. 残疾人就业条例
复制代码
2、关键字文本
  1. 个人所得
  2. 企业所得
  3. 企业
  4. 增值
  5. 消费
  6. 营业
  7. 资源
  8. 土地使用
  9. 土地增值
  10. 耕地
  11. 城市
  12. 建设
  13. 印花
  14. 车船
  15. 车辆
  16. 烟叶
  17. 教育
  18. 就业
  19. 优惠
复制代码
三、效果示例
  1. 个人所得
  2. 国务院关于修改《中华人民共和国个人所得税法实施条例》的决定
  3. 国务院关于修改《对储蓄存款利息所得征收个人所得税的实施办法》的决定
  4. 对储蓄存款利息所得征收个人所得税的实施办法
  5. 企业所得
  6. 中华人民共和国企业所得税法实施条例
  7. 中华人民共和国国务院关于经济特区和沿海十四个港口城市减征、免征企业所得税和工商统一税的暂行规定
  8. 国务院关于实施企业所得税过渡优惠政策的通知
  9. 国务院关于暂将中国石油天然气股份有限公司、中国石油化工股份有限公司缴纳的企业所得税继续作为中央收入的通知
  10. 企业
  11. 中华人民共和国合伙企业登记管理办法
  12. 企业财务会计报告条例
  13. 国务院关于外商投资企业和外国企业适用增值税、消费税、营业税等税收暂行条例有关问题的通知
  14. 国务院关于经济特区和上海浦东新区新设立高新技术企业实行过渡性税收优惠的通知
  15. 国务院关于统一内外资企业和个人城市维护建设税和教育费附加制度的通知
  16. 国务院关于进一步促进中小企业发展的若干意见
  17. 增值
  18. 中华人民共和国土地增值税暂行条例
  19. 中华人民共和国增值税暂行条例
  20. 国务院办公厅转发国家税务总局关于全面推广应用增值税防伪税控系统意见的通知
  21. 消费
  22. 中华人民共和国消费税暂行条例
  23. 营业
  24. 中华人民共和国营业税暂行条例
  25. 资源
  26. 中华人民共和国资源税暂行条例
  27. 国务院关于修改《中华人民共和国对外合作开采海洋石油资源条例》的决定
  28. 国务院关于修改《中华人民共和国对外合作开采陆上石油资源条例》的决定
  29. 国务院关于修改《中华人民共和国资源税暂行条例》的决定
  30. 土地使用
  31. 中华人民共和国城镇土地使用税暂行条例
  32. 土地增值
  33. 耕地
  34. 中华人民共和国耕地占用税暂行条例
  35. 城市
  36. 中华人民共和国城市维护建设税暂行条例
  37. 建设
  38. 国务院办公厅转发建设部等部门关于做好稳定住房价格工作意见的通知
  39. 中华人民共和国房产税暂行条例
  40. 印花
  41. 中华人民共和国印花税暂行条例
  42. 车船
  43. 中华人民共和国车船税暂行条例
  44. 中华人民共和国车船税法实施条例
  45. 车辆
  46. 中华人民共和国车辆购置税暂行条例
  47. 烟叶
  48. 中华人民共和国烟叶税暂行条例
  49. 中华人民共和国契税暂行条例
  50. 教育
  51. 国务院关于修改《征收教育费附加的暂行规定》的决定
  52. 国务院关于教育费附加征收问题的紧急通知
  53. 征收教育费附加的暂行规定
  54. 就业
  55. 残疾人就业条例
  56. 优惠
  57. 国务院办公厅转发民政部等部门关于扶持城镇退役士兵自谋职业优惠政策意见的通知
  58. =====以下名称没有分类=====
  59. 中华人民共和国**管理办法
  60. 中华人民共和国固定资产投资方向调节税暂行条例
  61. 中华人民共和国税收征收管理法实施细则
  62. 中华人民共和国进出口关税条例
  63. 国务院关于《北京市新技术产业开发试验区暂行条例》
  64. 国务院关于修改《中华人民共和国**管理办法》的决定
  65. 国务院关于加强土地调控有关问题的通知
  66. 国务院关于取消集市交易税、牲畜交易税、烧油特别税、奖金税、工资调节税和将屠宰税、筵席税下放给地方管理的通知
  67. 国务院关于完善中央与地方出口退税负担机制的通知
  68. 国务院关于实施成品油价格和税费改革的通知
  69. 国务院关于开征石油特别收益金的决定
  70. 国务院关于批准国家高新技术产业开发区和有关政策规定的通知
  71. 国务院关于改革现行出口退税机制的决定
  72. 国务院关于试办国家旅游度假区有关问题的通知
  73. 国务院关于调整进口设备税收政策的通知
  74. 国务院关于调整金融保险业税收政策有关问题的通知
  75. 国务院办公厅关于保留部分非行政许可审批项目的通知(节选)
  76. 国务院办公厅关于转发《国家税务总局关于调整国家税务局、地方税务局税收征管范围的意见》的通知
  77. 国务院办公厅转发国务院西部开发办关于西部大开发若干政策措施实施意见的通知
  78. 国务院办公厅转发科技部等部门关于非营利性科研机构管理的若干意见(试行)的通知
  79. 社会保险费征缴暂行条例
复制代码

作者: batman    时间: 2013-7-21 17:36

本帖最后由 batman 于 2013-7-21 17:59 编辑
  1. @echo off&setlocal enabledelayedexpansion
  2. echo,=====以下名称没有分类=====>$.temp
  3. for /f "delims=" %%a in (目录文本.txt) do (
  4.   set "str=%%a"&set "ok="
  5.   for /f %%a in (关键字文本.txt) do (
  6.     if not defined %%a (
  7.       set "copyfile=!copyfile!+%%a.temp"
  8.       echo,%%a>%%a.temp&set "%%a=a"
  9.     )
  10.     if not defined ok if "!str:%%a=!" neq "!str!" echo,!str!>>%%a.temp&set "ok=ok"
  11.   )
  12.   if not defined ok echo,!str!>>$.temp
  13. )
  14. copy /y %copyfile:~1%+$.temp new.txt>nul
  15. start new.txt&del /f *.temp
复制代码

作者: batman    时间: 2013-7-21 18:19

不用临时文本也可以:
  1. @echo off&setlocal enabledelayedexpansion
  2. for /f "delims=" %%a in (目录文本.txt) do (
  3.   set "str=%%a"&set "ok="
  4.   for /f %%a in (关键字文本.txt) do (
  5.     if "!str:%%a=!" neq "!str!" set /a %%a+=1&set "%%a_!%%a!=!str!"&set "ok=ok"
  6.   )
  7.   if not defined ok set /a $+=1&set "$_!$!=!str!"
  8. )
  9. (
  10.   for /f %%a in (关键字文本.txt) do (
  11.     echo,%%a
  12.     for /l %%b in (1,1,!%%a!) do echo,!%%a_%%b!
  13.   )
  14.   echo,=====以下名称没有分类=====
  15.   for /l %%a in (1,1,!$!) do echo,!$_%%a!
  16. )>new.txt
  17. start new.txt
复制代码

作者: terse    时间: 2013-7-21 19:38

  1. @echo off&setlocal enabledelayedexpansion
  2. (for /f "delims=" %%i in (关键字文本.txt) do (
  3.     echo %%i
  4.     for /f "delims=" %%j in (目录文本.txt) do (
  5.         if not defined %%j (
  6.            set str=%%j
  7.            if "!str:%%i=!" neq "%%j" (
  8.                echo %%j&set %%j=1
  9.            )
  10.         )
  11.     )
  12. )
  13. echo,=====以下名称没有分类=====
  14. for /f %%i in (目录文本.txt) do if not defined %%i echo,%%i
  15. )>new.txt
  16. pause
复制代码

作者: pan528    时间: 2013-7-21 22:37

回复 3# batman

谢谢batman,提供了二个方案,开阔了我的眼界,学习了!

均已通过测试,效率顶高的。
作者: pan528    时间: 2013-7-21 22:39

回复 4# terse

谢谢terse,每次都得到你的指点。

测试通过,代码顶简洁的,效率不错。再次表示感谢!
作者: pan528    时间: 2013-7-21 22:57

回复 3# batman

请教batman,方案二,有部分出现同一行重复分类的情况,不知问题出在哪?

比如:“国务院关于实施企业所得税过渡优惠政策的通知"被分了三次。




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