[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖
回复 14# qixiaobin0715


    非常非常感谢,效果很理想

TOP

修正一下13楼代码,排除虚拟网卡信息:
  1. @echo off
  2. setlocal enabledelayedexpansion
  3. for /f "tokens=1,2*" %%a in (硬件报告.txt) do (
  4.     if "%%a"=="系统:" (
  5.         echo,系统
  6.         set n=0
  7.     ) else if "%%b"=="设备信息:" (
  8.         echo,
  9.         echo,ATA
  10.         set n=0
  11.     ) else if "%%a"=="网络适配器信息:" (
  12.         set n=0
  13.     ) else if defined n (
  14.         if "%%a"=="产品" (
  15.             echo,产品型号:%%b %%c
  16.         ) else if "%%a"=="型号" (
  17.             echo,%%a %%b:%%c
  18.         ) else if "%%a"=="网络适配器" (
  19.             set str=%%c
  20.             set str=!str:Virtual=!
  21.             set str=!str:Bluetooth=!
  22.             if not "!str!"=="%%c" set n=
  23.             if "%%b"=="Bluetooth" set n=
  24.             if defined n (
  25.                 echo,
  26.                 echo,网络
  27.                 echo,%%a:%%b %%c
  28.             )
  29.         ) else if "%%a"=="接口类型" (
  30.             echo,%%a:%%b %%c
  31.         ) else if "%%a"=="序列号" (
  32.             echo,%%a:%%b
  33.             set n=
  34.         ) else if "%%a"=="硬件地址(MAC)" (
  35.             echo,%%a:%%b
  36.             set n=
  37.         )
  38.     )
  39. )
  40. pause
复制代码

TOP

本帖最后由 qixiaobin0715 于 2021-11-2 11:07 编辑

回复 1# gyue
更直接一些:
  1. @echo off
  2. for /f "tokens=1,2*" %%a in (硬件报告.txt) do (
  3.     if "%%a"=="系统:" (
  4.         echo,系统
  5.         set n=0
  6.     ) else if "%%b"=="设备信息:" (
  7.         echo,
  8.         echo,ATA
  9.         set n=0
  10.     ) else if "%%a"=="网络适配器信息:" (
  11.         echo,
  12.         echo,网络
  13.         set n=0
  14.     ) else if defined n (
  15.         if "%%a"=="产品" (
  16.             echo,产品型号:%%b %%c
  17.         ) else if "%%a"=="型号" (
  18.             echo,%%a %%b:%%c
  19.         ) else if "%%a"=="网络适配器" (
  20.             echo,%%a:%%b %%c
  21.         ) else if "%%a"=="接口类型" (
  22.             echo,%%a:%%b %%c
  23.         ) else if "%%a"=="序列号" (
  24.             echo,%%a:%%b
  25.             set n=
  26.         ) else if "%%a"=="硬件地址(MAC)" (
  27.             echo,%%a:%%b
  28.             set n=
  29.         )
  30.     )
  31. )
  32. pause
复制代码

TOP

  1. @echo off
  2. setlocal enabledelayedexpansion
  3. set "ata=ATA ]---------------------------------------------------------------------------------------------------------"
  4. set "net=Windows 网络 ]------------------------------------------------------------------------------------------------"
  5. for /f "tokens=1*" %%i in (硬件报告.txt) do (
  6.     if defined f (
  7.         if defined ff (
  8.             if "%%i"=="产品" (
  9.                 echo 系统&echo 产品型号:%%j
  10.             ) else if "%%i"=="序列号" (
  11.                 echo 序列号:%%j
  12.                 set f=
  13.                 set ff=&echo;
  14.             ) else if "%%i"=="网络适配器" (
  15.                 set /a n+=1
  16.                 call;set #!n!=%%#!n!%%@%%j
  17.             ) else if "%%i"=="接口类型" (
  18.                 call;set #!n!=%%#!n!%%@%%j
  19.             ) else if "%%i"=="硬件地址(MAC)" (
  20.                 call;set #!n!=%%#!n!%%@%%j
  21.             )
  22.         )
  23.         if "%%i"=="系统:" (set ff=1) else if "%%i"=="网络适配器信息:" (set ff=1)
  24.     )
  25.     if defined fff (
  26.         if "%%i"=="[" (
  27.             for /f "tokens=1,2 delims=()" %%a in ("%%j") do (
  28.                 echo 型号 ID:%%a
  29.                 echo 序列号 :%%b
  30.                 echo;
  31.             )
  32.         )
  33.     )
  34.     if "%%j"=="系统 ]" (set f=1) else if "%%j"=="%ata%" (set fff=1&echo ATA) else if "%%i"=="--------[" (set fff=)
  35.     if "%%j"=="%net%" (set f=1&echo 网络)
  36. )
  37. for /f "tokens=2,3,4 delims=@=" %%i in ('set #') do (
  38.     echo %%i|findstr /i "microsoft vmware Bluetooth" >nul||(
  39.         echo 网络适配器:%%i
  40.         echo 接口类型 :%%j
  41.         echo 硬件地址^(MAC^) :%%k
  42.         echo;
  43.     )
  44. )
  45. pause
复制代码

TOP

回复 1# gyue


这个检测是只针对笔记本还是台式机也有,如果只针对笔记本,且序列号位数固定就好提取序列号。
网卡和硬盘最好也统一下,看看具体有哪几个型号。一般品牌机硬盘和网卡都是固定的款。

TOP

回复 9# Batcher


    已更新谢谢提醒

TOP

回复 8# gyue


请把3楼、8楼的内容更新到顶楼作为完整需求的一部分,以便他人查看。
我帮忙写的代码不需要付钱。如果一定要给,请在微信群或QQ群发给大家吧。
【微信公众号、微信群、QQ群】http://bbs.bathome.net/thread-3473-1-1.html
【支持批处理之家,加入VIP会员!】http://bbs.bathome.net/thread-67716-1-1.html

TOP

回复 7# gyue


    上传不了图片本来说P个想要的结果图:只能写一下了,最终希望想输出的格式文本是以下形式的,不需要虚拟网卡

系统
产品型号:OMEN by HP Laptop 15-dc0xxx
序列号:5CD9156836


ATA
型号 ID:   INTEL SSDPEKKF256G8L
序列号 :     BTHH83940JXM256B

型号 ID:   ST2000LM007-1R8176
序列号 :      WDZV90NM

网络
网络适配器: Realtek Gaming GbE Family Controller
接口类型 :                   Ethernet
硬件地址(MAC) : C4-65-16-AC-A7-11

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

TOP

回复 6# yakeyun


    你已经很厉害了,我之前用findstr都做不到你这样的

TOP

本帖最后由 yakeyun 于 2021-10-31 13:51 编辑

回复 5# gyue

只获取了一部分,没办法做到对应,并一起输出。只能大佬出手,如果是易语言就好处理。
网络部分需要名称后面直接接MAC,例如:
网络适配器     Microsoft Wi-Fi Direct Virtual Adapter #2     硬件地址(MAC)      AA-6D-AA-72-7D-EC)

Microsoft Wi-Fi Direct Virtual Adapter #2     AA-6D-AA-72-7D-EC


@echo off
cd /d "%~dp0"
setlocal EnableDelayedExpansion
for /f "tokens=*" %%a in ('type "硬件报告.txt" ^|find "OME"') do (
       for /f "tokens=1,* delims= " %%b in ('echo %%a ^|find "产品"') do (
       echo 产品型号:%%c
    )
       )
for /f "tokens=1,2 delims=^ " %%d in ('type "硬件报告.txt" ^|findstr "序列号" ') do echo 产品序号:%%e
for /f "tokens=1,* delims=^ " %%f in ('type "硬件报告.txt" ^|findstr /i "网络适配器"') do (
for /f "tokens=*" %%h in ('echo %%g ^|findstr "Bluetooth"') do echo %%h
for /f "tokens=*" %%h in ('echo %%g ^|findstr "Intel"') do echo %%h
for /f "tokens=*" %%h in ('echo %%g ^|findstr "Wi-Fi"') do echo %%h
)
for /f "tokens=*" %%j in ('type "硬件报告.txt" ^|findstr /i "硬件地址(MAC)" ^|more +0') do echo %%j
pause>nul

TOP

本帖最后由 gyue 于 2021-10-31 11:47 编辑

回复 4# yakeyun


    测试时我用的是手动,PE下用静默参数,静默也只导出需要的硬件信息就行,但是不管格式是否一样,里边的参数信息是一样的。

TOP

回复 3# gyue


这个是静默参数导出的,还是手动导出的?如果是静默导出格式就是一致的,如果是手动导出,由于界面布局不同,勾选的参数不同,可能有差异。

TOP

本帖最后由 gyue 于 2021-10-30 22:35 编辑

回复 2# Batcher


已上传,ADIA输出的文件格式没动,由于可能每台机器配置不一样,可能会涉及多硬盘,多序列号 所以安行搜索应该是对应不上,不知道能按关键字搜索行不行
   链接:https://pan.baidu.com/s/1you3x8NaUU2BI5qr1WZW0g
提取码:d7ij
--来自百度网盘超级会员V6的分享

TOP

回复 1# gyue


    请把你测试用的文件上传到阿里云盘或百度网盘
我帮忙写的代码不需要付钱。如果一定要给,请在微信群或QQ群发给大家吧。
【微信公众号、微信群、QQ群】http://bbs.bathome.net/thread-3473-1-1.html
【支持批处理之家,加入VIP会员!】http://bbs.bathome.net/thread-67716-1-1.html

TOP

返回列表