Board logo

标题: [文本处理] 批处理如何从devcon第三方命令的返回结果中提取指定内容? [打印本页]

作者: dnvplj    时间: 2016-10-7 13:18     标题: 批处理如何从devcon第三方命令的返回结果中提取指定内容?

本帖最后由 pcl_test 于 2016-10-7 13:46 编辑

如何删除文本多余字符
请问各位朋友,如何保留第一行的“DEV_2000”,其他内容全部删除,保留后的全部内容为:PCI=DEV_2000,多谢了。
  1. PCI\VEN_1022&DEV_2000&SUBSYS_20001022&REV_10\4&158AE19&0&0888
  2.     Name: AMD PCNET Family PCI Ethernet Adapter
  3.     Hardware IDs:
  4.         PCI\VEN_1022&DEV_2000&SUBSYS_20001022&REV_10
  5.         PCI\VEN_1022&DEV_2000&SUBSYS_20001022
  6.         PCI\VEN_1022&DEV_2000&CC_020000
  7.         PCI\VEN_1022&DEV_2000&CC_0200
  8.     Compatible IDs:
  9.         PCI\VEN_1022&DEV_2000&REV_10
  10.         PCI\VEN_1022&DEV_2000
  11.         PCI\VEN_1022&CC_020000
  12.         PCI\VEN_1022&CC_0200
  13.         PCI\VEN_1022
  14.         PCI\CC_020000
  15.         PCI\CC_0200
  16. 1 matching device(s) found.
复制代码

作者: pcl_test    时间: 2016-10-7 13:42

只想了解顶楼的内容是如何得到,猜是devcon
作者: dnvplj    时间: 2016-10-7 13:44

回复 2# pcl_test
是的版主
作者: wskwfkbdn    时间: 2016-10-8 07:14

昨晚没有发成功,现在再发一次
DevCon.exe hwids PCI\VEN_1022
获取到内容后  直接set

@echo off
for /f "delims=" %%i in ('DevCon.exe hwids PCI\VEN_1022') do set hha=%%i
echo.%hha%
pause
作者: dnvplj    时间: 2016-10-8 09:00

回复 4# wskwfkbdn
感谢你的回复,但“DEV_2000&SUBSYS_20001022&REV_10\4&158AE19&0&0888”每台机器都不一样,有万能的吗?
作者: wskwfkbdn    时间: 2016-10-8 11:30

回复 5# dnvplj


    硬件不一样 硬件ID也不同,同一个牌子硬件 不同系列,都不一样的,如果要安装驱动或卸载驱动

PCI\VEN_1022&DEV_2000&SUBSYS_20001022&REV_10\4&158AE19&0&0888

以上面为例的话,安装驱动和卸载驱动,取PCI\VEN_1022&DEV_2000&SUBSYS_20001022&REV_10\4&158AE19&0&0888前部分就行。
作者: dnvplj    时间: 2016-10-9 13:17

回复 6# wskwfkbdn
我就想提取:DEV_XXXX,“XXXX”是未知,请问:如何才能做到?
作者: pcl_test    时间: 2016-10-9 13:44

回复 7# dnvplj

http://www.bathome.net/redirect. ... 12585&ptid=2189
作者: wskwfkbdn    时间: 2016-10-9 22:02

回复 7# dnvplj

仔细看之前的回复,命令已经给了,你实验了没有
作者: wskwfkbdn    时间: 2016-10-9 22:06

这表达能力极差,如果你只是想提取字符串而不是那个一行内容,应该文字说明,而且代码已经贴出来了,你for去截取用&分割取第二列内容就行了,我保证不再发批处理代码了




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