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

[文本处理] 已解决,请教批处理如何提取文本中的特定的文本?

[复制链接]
发表于 2021-11-8 12:52:07 | 显示全部楼层
PCI/AGP中数据不好处理,有差异,请手动将冒号修改为空格。
发表于 2021-11-8 14:07:45 | 显示全部楼层
回复 29# gyue
现在应当可以了,请测试。
 楼主| 发表于 2021-11-8 14:11:58 | 显示全部楼层
回复 32# qixiaobin0715


    好,晚上我测试一下回复你谢谢
 楼主| 发表于 2021-11-8 21:44:14 | 显示全部楼层
回复 32# qixiaobin0715


    谢谢大神,可以了
 楼主| 发表于 2021-11-9 16:47:21 | 显示全部楼层
回复 32# qixiaobin0715


    老大发现个问题,就是内存跟硬盘都显示序列号,唯独系统那块不显示
只显示制造商,产品,版本
发表于 2021-11-9 16:54:10 | 显示全部楼层
我测试的结果:
  1. 系统
  2. 制造商:HP
  3. 产品:OMEN by HP Laptop 15-dc0xxx
  4. 序列号:5CD9156840

  5. 处理器:
  6. 制造商:Intel(R) Corporation
  7. 版本:Intel(R) Core(TM) i7-8750H CPU @ 2.20GHz

  8. 内存阵列:
  9. 最大内存容量:32 GB
  10. 内存设备:2

  11. 内存
  12. 类型:DDR4
  13. 大小:8 GB
  14. 最大时钟频率:2667 MT/s
  15. 制造商:Samsung
  16. 序列号:310623C4
  17. 部件号:M471A1K43CB1-CTD

  18. 内存
  19. 类型:DDR4
  20. 大小:8 GB
  21. 最大时钟频率:2667 MT/s
  22. 制造商:Samsung
  23. 序列号:41E1ECAD
  24. 部件号:M471A1K43CB1-CTD

  25. 显示适配器:
  26. 设备描述:GeForce GTX 1050 Ti
  27. 显存大小:4 GB

  28. 显示适配器:
  29. 设备描述:GeForce GTX 1050 Ti
  30. 显存大小:4 GB

  31. 显示适配器:
  32. 设备描述:GeForce GTX 1050 Ti
  33. 显存大小:4 GB

  34. 显示适配器:
  35. 设备描述:GeForce GTX 1050 Ti
  36. 显存大小:4 GB

  37. 显示适配器:
  38. 设备描述:Intel(R) UHD Graphics 630
  39. 显存大小:1 GB

  40. 显示适配器:
  41. 设备描述:Intel(R) UHD Graphics 630
  42. 显存大小:1 GB

  43. 显示适配器:
  44. 设备描述:Intel(R) UHD Graphics 630
  45. 显存大小:1 GB

  46. PCI/AGP
  47. Intel:UHD Graphics 630                                                            显示适配器

  48. ATA
  49. 型号 ID:INTEL SSDPEKKF256G8L
  50. 序列号:BTHH83940JXM256B

  51. ATA
  52. 型号 ID:ST2000LM007-1R8174
  53. 序列号:WDZV90NZ

  54. 网络
  55. 网络适配器:Intel(R) Wireless-AC 9560 160MHz
  56. 接口类型:802.11 Wireless Ethernet
  57. 硬件地址(MAC):A8-6D-AA-72-7D-EC

  58. 网络
  59. 网络适配器:Realtek Gaming GbE Family Controller
  60. 接口类型:Ethernet
  61. 硬件地址(MAC):C4-65-16-AC-A7-11
  62. 请按任意键继续. . .
复制代码
发表于 2021-11-9 16:55:49 | 显示全部楼层
回复 35# gyue
你把测试出现问题的文本发给我看看。
 楼主| 发表于 2021-11-9 17:02:36 | 显示全部楼层
本帖最后由 gyue 于 2021-11-9 21:45 编辑

回复 37# qixiaobin0715 [/b
  上传网盘了,  链接:https://pan.baidu.com/s/1Xs9sIm8hiz6pGaKBRkuCSw
提取码:xr1n   还有显卡 跟PCI/AGP能否在网卡后边,也就是最后显示?,双显卡会显示好几条
同样的信息,
发表于 2021-11-9 21:22:06 | 显示全部楼层
回复 38# gyue
请不要压缩,我这里.7z压缩文件没装软件,无法解压。
 楼主| 发表于 2021-11-9 21:45:50 | 显示全部楼层
回复 39# qixiaobin0715


    38楼已更新链接未压缩
发表于 2021-11-9 22:35:32 | 显示全部楼层
本帖最后由 qixiaobin0715 于 2021-11-10 09:40 编辑

回复 40# gyue
显卡信息重复是因为源文本中本身就有重复信息存在:
  1. @echo off
  2. set "var=处理器: PCI/AGP 内存阵列: 网络适配器 设备信息: 系统: 类型 大小 最大时钟频率 制造商 序列号 部件号 硬件地址 型号 产品 最大内存容量 内存设备 设备描述 版本 显示适配器"
  3. findstr /i /r /v /c:"类型[^ ]" /c:"[^ ]版本" /c:"DAC" 硬件报告.txt>b.log
  4. findstr /r "%var%" b.log>a.log
  5. (for /f "tokens=1,2*" %%a in ('findstr /r /v "Virtual Bluetooth 芯片类型" a.log') do (
  6.     if "%%a"=="内存设备:" (
  7.         echo,@内存
  8.         set m=0
  9.         set n=0
  10.     ) else if "%%a"=="系统:" (
  11.         echo,系统
  12.         set n=0
  13.         set l=0
  14.     ) else if "%%b"=="设备信息:" (
  15.         echo,@ATA
  16.         set n=0
  17.     ) else if "%%a"=="网络适配器" (
  18.         echo,@网络
  19.         echo,%%a:%%b %%c
  20.         set n=0
  21.     ) else if "%%a"=="内存阵列:" (
  22.         echo,@%%a
  23.         set n=0
  24.     ) else if "%%a"=="显示适配器:" (
  25.         echo,@%%a
  26.         set n=0
  27.     ) else if "%%b"=="PCI/AGP" (
  28.         echo,@%%b
  29.         set n=0
  30.     ) else if "%%a"=="处理器:" (
  31.         echo,@%%a
  32.         set n=0
  33.     ) else if defined n (
  34.         if "%%a"=="序列号" (
  35.             echo,%%a:%%b
  36.             if not defined m set n=&set l=
  37.         ) else if "%%a"=="部件号" (
  38.             echo,%%a:%%b
  39.             set l=
  40.             set m=
  41.             set n=
  42.         ) else if "%%a"=="硬件地址(MAC)" (
  43.             echo,%%a:%%b
  44.             set n=
  45.         ) else if "%%a"=="内存设备" (
  46.             echo,%%a:%%b
  47.             set n=
  48.         ) else if "%%a"=="显存大小" (
  49.             echo,%%a:%%b %%c
  50.             set n=
  51.         ) else if "%%a"=="版本" (
  52.             if not defined l echo,%%a:%%b %%c&set n=
  53.         ) else if "%%a"=="制造商" (
  54.             if not defined l echo,%%a:%%b %%c
  55.         ) else if "%%a"=="型号" (
  56.             echo,%%a %%b:%%c
  57.         ) else (
  58.             if "%%c"=="" (echo,%%a:%%b) else echo,%%a:%%b %%c
  59.         )
  60.     )
  61. ))>c.log
  62. set str="显示适配器 ^设备描述 ^显存大小 ^@PCI/AGP"
  63. setlocal enabledelayedexpansion
  64. (for /f "delims=" %%x in ('findstr /r /v %str% c.log') do (
  65.     set "str1=%%x"
  66.     if "!str1:~,1!"=="@" (
  67.         echo,
  68.         echo,!str1:~1!
  69.     ) else echo,%%x
  70. )
  71. for /f "delims=" %%y in ('findstr /r %str% c.log') do (
  72.     set "str2=%%y"
  73.     if "!str2:~,1!"=="@" (
  74.         echo,
  75.         echo,!str2:~1!
  76.     ) else echo,%%y
  77. ))>"%HomePath%\DeskTop\New_硬件报告.txt"
  78. del a.log
  79. del b.log
  80. del c.log
  81. pause
复制代码
最终版不再更新,有问题请自行修改。
 楼主| 发表于 2021-11-10 06:28:31 | 显示全部楼层
回复 41# qixiaobin0715


  谢谢,回头我试试,麻烦你了
发表于 2021-11-10 09:43:28 | 显示全部楼层
41楼代码刚刚修改完成,太过牵涉精力,就这样了。
 楼主| 发表于 2021-11-10 10:00:41 | 显示全部楼层
回复 43# qixiaobin0715


    不用再改了,已经很麻烦你了,非常感谢 此贴问题可以标注已解决了
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-3-21 00:18 , Processed in 0.031540 second(s), 14 queries .

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

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