无忧启动论坛

 找回密码
 注册
搜索
系统gho:最纯净好用系统下载站投放广告、加入VIP会员,请联系 微信:wuyouceo
查看: 9182|回复: 36
打印 上一主题 下一主题

[求助] 批处理代码合并加工处理

[复制链接]
跳转到指定楼层
1#
发表于 2022-9-9 16:20:27 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
因有两个批处理代码需要合并成一个,并需要修改一下展示格式,最终归置到一个TXT文档,以当前有线IP地址命名TXT文档文件名,没有有线网卡的无线用户以无线IP命名。

需要修改的代码
@echo off & setlocal enabledelayedexpansion  
echo     =-----------------------------------------=
echo     =  本BAT只列出一个有线和一个无线的IP信息  =
echo     =           读取信息请耐心等待            =
echo     =-----------------------------------------=
echo.
for /f "tokens=1 delims=[]" %%i in ('%SystemRoot%\system32\nbtstat -S^|find /n "以太网:"') do (
    nbtstat -S | more +%%i >$
    set /p Str=<$
    del $
    for /f "tokens=2 delims=[]" %%i in ('echo "!Str!"') do set LIP=%%i
)
for /f "tokens=1 delims=[]" %%i in ('%SystemRoot%\system32\nbtstat -S^|find /n "WLAN:"') do (
    nbtstat -S | more +%%i >$
    set /p Str=<$
    del $
    for /f "tokens=2 delims=[]" %%i in ('echo "!Str!"') do set WIP=%%i
)
for /f "tokens=16" %%i in ('ipconfig /all ^| find /i "IPv4 地址"') do set ip=%%i ?

echo ===================================================  >%tmp%\ip-mac.txt
echo 当前时间:%DATE%  >>%tmp%\ip-mac.txt
echo ===================================================  >>%tmp%\ip-mac.txt
echo 本机用户名为:%COMPUTERNAME% >>%tmp%\ip-mac.txt
echo 本机有线IP为:%LIP% >>%tmp%\ip-mac.txt
echo 本机无线IP为:%WIP% >>%tmp%\ip-mac.txt
::echo 本机首选IP为:%ip% >>%tmp%\ip-mac.txt
echo 本机物理地址: >>%tmp%\ip-mac.txt
echo ===================================================
for /f "tokens=1,3 delims=," %%i in ('getmac /v /nh /fo:csv ^| findstr
"..-..-..-..-..-.."') do (
    echo %%i %%j  >>%tmp%\ip-mac.txt
)
echo ===================================================  >>%tmp%\ip-mac.txt
ipconfig | findstr /i "以太网 无线 IPv4">>%tmp%\ip-mac.txt

Start %tmp%\ip-mac.txt


修改后运行展示的最终样式
===================================================  
当前时间:2022/09/09 周五  
===================================================  
本机用户名为:PC-20211008YH
===================================================
本机有线IP为:0.0.0.0
本机物理地址MAC:AA-BB-CC-DD-EE-FF
===================================================
本机有线掩码:1.1.1.1
本机有线网关:2.2.2.2
===================================================
本机无线IP为:3.3.3.3
无线物理地址MAC:AA-BB-CC-DD-EE-FF
===================================================


上述修改后的代码需要与下面这个代码进行合并成一个批处理,并保存为TXT文档,以IP地址命名TXT文件名。
@echo off&Setlocal EnableDelayedExpansion                  
cd /d %~dp0
for /f "tokens=7* delims=\" %%i in ('reg query HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall') do (
    echo 当前扫描信息: HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\%%~i
    reg export "HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\%%~i" reg.$ >nul
    for /f "delims=" %%j in ('type reg.$ ^| findstr /i /c:"DisplayName" 2^>nul') do (
        set DN=%%~j
        set DN=!DN:"=!
        set !DN!
    )
    for /f "delims=" %%k in ('type reg.$ ^| findstr /i /c:"InstallLocation" 2^>nul') do (
        set IL=%%~k
        set IL=!IL:"=!
        set IL=!IL:\\=\!
        set !IL!
    )
    if not defined DisplayName set DisplayName=没有信息。
    if not defined InstallLocation set InstallLocation=没有信息。
    (echo  +++++++++++++++++++++++++++++++++++++++++++++++++++++++++
    echo  注册表值: %%~i
    echo  软件名称: !DisplayName!
    echo  安装路径: !InstallLocation!
    echo  +++++++++++++++++++++++++++++++++++++++++++++++++++++++++
    echo,)>>applist.txt
    set DisplayName=&set InstallLocation=&del reg.$
)
pause



2#
发表于 2022-9-9 20:45:25 | 只看该作者
谢谢分享,
回复

使用道具 举报

3#
发表于 2022-9-9 22:30:42 | 只看该作者
学习一下
回复

使用道具 举报

4#
发表于 2022-9-10 10:42:03 | 只看该作者
有线有MAC,IP全为0,会有重复文件。

点评

请问上面的代码,如果按照要求,有没有什么办法能解决一下,谢谢。  详情 回复 发表于 2022-9-13 08:22
回复

使用道具 举报

5#
发表于 2022-9-12 15:19:18 | 只看该作者
感谢分享
回复

使用道具 举报

6#
 楼主| 发表于 2022-9-13 08:22:13 | 只看该作者
szwp 发表于 2022-9-10 10:42
有线有MAC,IP全为0,会有重复文件。

请问上面的代码,如果按照要求,有没有什么办法能解决一下,谢谢。

点评

要生成0.0.0.0.txt?  详情 回复 发表于 2022-9-13 08:29
回复

使用道具 举报

7#
发表于 2022-9-13 08:29:44 | 只看该作者
shimeng0624 发表于 2022-9-13 08:22
请问上面的代码,如果按照要求,有没有什么办法能解决一下,谢谢。

要生成0.0.0.0.txt?

点评

主要就是两个批处理,一个是生成IP地址信息的,一个是生成电脑软件列表信息的,合并成一个运行。  发表于 2022-9-13 11:36
文件便于区分,生成当前电脑IP文件名,比如生成192-168-1-110,分隔符号不限制。  详情 回复 发表于 2022-9-13 11:32
回复

使用道具 举报

8#
发表于 2022-9-13 09:24:22 | 只看该作者
本帖最后由 holley2008 于 2022-9-15 15:49 编辑

没搞懂你的意思,简单合并就这样

  1. @echo off & setlocal enabledelayedexpansion  
  2. echo     =-----------------------------------------=
  3. echo     =  本BAT只列出一个有线和一个无线的IP信息  =
  4. echo     =           读取信息请耐心等待            =
  5. echo     =-----------------------------------------=
  6. echo.
  7. for /f "tokens=1 delims=[]" %%i in ('%SystemRoot%\system32\nbtstat -S^|find /n "以太网:"') do (
  8.     nbtstat -S | more +%%i >$
  9.     set /p Str=<$
  10.     del $
  11.     for /f "tokens=2 delims=[]" %%i in ('echo "!Str!"') do set LIP=%%i
  12. )
  13. for /f "tokens=1 delims=[]" %%i in ('%SystemRoot%\system32\nbtstat -S^|find /n "WLAN:"') do (
  14.     nbtstat -S | more +%%i >$
  15.     set /p Str=<$
  16.     del $
  17.     for /f "tokens=2 delims=[]" %%i in ('echo "!Str!"') do set WIP=%%i
  18. )
  19. for /f "tokens=16" %%i in ('ipconfig /all ^| find /i "IPv4 地址"') do set ip=%%i  

  20. echo ===================================================  >ip-mac.txt
  21. echo 当前时间:%DATE%  >>ip-mac.txt
  22. echo ===================================================  >>ip-mac.txt
  23. echo 本机用户名为:%COMPUTERNAME% >>ip-mac.txt
  24. echo ===================================================  >>ip-mac.txt
  25. echo 本机有线IP为:%LIP% >>ip-mac.txt
  26. echo 本机无线IP为:%WIP% >>ip-mac.txt
  27. ::echo 本机首选IP为:%ip% >>ip-mac.txt
  28. echo 本机物理地址: >>ip-mac.txt
  29. echo ===================================================
  30. for /f "tokens=1,3 delims=," %%i in ('getmac /v /nh /fo:csv ^| findstr
  31. "..-..-..-..-..-.."') do (
  32.     echo %%i %%j  >>ip-mac.txt
  33. )
  34. echo ===================================================  >>ip-mac.txt
  35. ipconfig | findstr /i "以太网 无线 IPv4">>ip-mac.txt
  36. echo ===================================================  >>ip-mac.txt
  37. echo =====本机已安装软件信息===================================  >>ip-mac.txt
  38. echo ===================================================  >>ip-mac.txt
  39. cd /d %~dp0
  40. for /f "tokens=7* delims=" %%i in ('reg query HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall') do (
  41.     echo 当前扫描信息: HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\%%~i
  42.     reg export "HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\%%~i" reg.$ >nul
  43.     for /f "delims=" %%j in ('type reg.$ ^| findstr /i /c:"DisplayName" 2^>nul') do (
  44.         set DN=%%~j
  45.         set DN=!DN:"=!
  46.         set !DN!
  47.     )
  48.     for /f "delims=" %%k in ('type reg.$ ^| findstr /i /c:"InstallLocation" 2^>nul') do (
  49.         set IL=%%~k
  50.         set IL=!IL:"=!
  51.         set IL=!IL:\\=\!
  52.         set !IL!
  53.     )
  54.     if not defined DisplayName set DisplayName=没有信息。
  55.     if not defined InstallLocation set InstallLocation=没有信息。
  56.     (echo  +++++++++++++++++++++++++++++++++++++++++++++++++++++++++
  57.     echo  注册表值: %%~i
  58.     echo  软件名称: !DisplayName!
  59.     echo  安装路径: !InstallLocation!
  60.     echo  +++++++++++++++++++++++++++++++++++++++++++++++++++++++++
  61.     echo,)>>ip-mac.txt
  62.     set DisplayName=&set InstallLocation=&del reg.$
  63. )

  64. Start ip-mac.txt
复制代码


点评

那就有可能是你的软件列表在这个地方: HKLM\SOFTWARE\Wow6432Node\Microsoft\Windows\CurrentVersion%uninstall  详情 回复 发表于 2022-9-13 18:51
获取不了软件列表信息,有时间的话,请指教,谢谢!!!  发表于 2022-9-13 11:35
回复

使用道具 举报

9#
 楼主| 发表于 2022-9-13 11:32:18 | 只看该作者
szwp 发表于 2022-9-13 08:29
要生成0.0.0.0.txt?

文件便于区分,生成当前电脑IP文件名,比如生成192-168-1-110,分隔符号不限制。
回复

使用道具 举报

10#
发表于 2022-9-13 18:51:02 | 只看该作者
holley2008 发表于 2022-9-13 09:24
没搞懂你的意思,简单合并就这样

那就有可能是你的软件列表在这个地方:
HKLM\SOFTWARE\Wow6432Node\Microsoft\Windows\CurrentVersion\Uninstall

点评

其实你分别运行一下这两个批处理,就知道了,单独运行没有问题,只是我想合并成一个操作起来更方便。  详情 回复 发表于 2022-9-14 17:11
回复

使用道具 举报

11#
发表于 2022-9-13 19:00:47 | 只看该作者
谢谢分享
回复

使用道具 举报

12#
 楼主| 发表于 2022-9-14 17:11:00 | 只看该作者
holley2008 发表于 2022-9-13 18:51
那就有可能是你的软件列表在这个地方:
HKLM\SOFTWARE\Wow6432Node\Microsoft\Windows\CurrentVersion%u ...

其实你分别运行一下这两个批处理,就知道了,单独运行没有问题,只是我想合并成一个操作起来更方便。

点评

用我合成的这段 我win10专业版 获取正常  详情 回复 发表于 2022-9-14 18:50
回复

使用道具 举报

13#
发表于 2022-9-14 18:50:12 | 只看该作者
shimeng0624 发表于 2022-9-14 17:11
其实你分别运行一下这两个批处理,就知道了,单独运行没有问题,只是我想合并成一个操作起来更方便。

用我合成的这段 我win10专业版 获取正常

点评

我的LTSC版运行后就下面这些信息,没有软件列表信息。也没有保存,只是直接打开了文件。 =================================================== 当前时间:2022/09/15 周四 ================================  详情 回复 发表于 2022-9-15 08:59
回复

使用道具 举报

14#
发表于 2022-9-14 19:25:38 来自手机 | 只看该作者
文件名要4个0,还是要4个3?

点评

文件名希望能依IP地址命名  详情 回复 发表于 2022-9-15 08:57
回复

使用道具 举报

15#
 楼主| 发表于 2022-9-15 08:57:10 | 只看该作者
szwp 发表于 2022-9-14 19:25
文件名要4个0,还是要4个3?

文件名希望能依IP地址命名
回复

使用道具 举报

16#
 楼主| 发表于 2022-9-15 08:59:22 | 只看该作者
holley2008 发表于 2022-9-14 18:50
用我合成的这段 我win10专业版 获取正常

我的LTSC版运行后就下面这些信息,没有软件列表信息。也没有保存,只是直接打开了文件。
===================================================  
当前时间:2022/09/15 周四  
===================================================  
本机用户名为:PC-20211008YH
===================================================  
本机有线IP为:172.16.53.38
本机无线IP为:
本机物理地址:
"以太网" "FC-34-97-BC-98-A3"  
"VMware Network Adapter VMnet1" "00-50-56-C0-00-01"  
"VMware Network Adapter VMnet8" "00-50-56-C0-00-08"  
"WLAN 2" "3C-46-D8-6A-BF-79"  
===================================================  
无线局域网适配器 WLAN 2:
无线局域网适配器 本地连接* 11:
无线局域网适配器 本地连接* 12:
以太网适配器 以太网:
   IPv4 地址 . . . . . . . . . . . . : 172.16.53.38
以太网适配器 VMware Network Adapter VMnet1:
   IPv4 地址 . . . . . . . . . . . . : 192.168.136.1
以太网适配器 VMware Network Adapter VMnet8:
   IPv4 地址 . . . . . . . . . . . . : 192.168.163.1
===================================================  
=====本机已安装软件信息===================================  
===================================================  

点评

刚试了下,好像粘贴出来确实有问题,直接附件了。  详情 回复 发表于 2022-9-15 15:52
回复

使用道具 举报

17#
发表于 2022-9-15 15:52:41 | 只看该作者
shimeng0624 发表于 2022-9-15 08:59
我的LTSC版运行后就下面这些信息,没有软件列表信息。也没有保存,只是直接打开了文件。
============== ...

刚试了下,好像粘贴出来确实有问题,直接附件了。

导出已安装软件列表a.zip

1.14 KB, 下载次数: 26, 下载积分: 无忧币 -2

点评

感谢,附件基本没有问题,要是能再优化一下就更好了。文件命名要是能以获取到的IP命名就更好了,电脑太多了,一个个去运行,然后一个个改名有点太难了。  详情 回复 发表于 2022-9-16 08:06
回复

使用道具 举报

18#
 楼主| 发表于 2022-9-16 08:06:36 | 只看该作者
holley2008 发表于 2022-9-15 15:52
刚试了下,好像粘贴出来确实有问题,直接附件了。

感谢,附件基本没有问题,要是能再优化一下就更好了。文件命名要是能以获取到的IP命名就更好了,电脑太多了,一个个去运行,然后一个个改名有点太难了。

点评

脚本里的ip-mac.txt替换成!LIP!.txt就可以了  详情 回复 发表于 2022-9-16 09:12
回复

使用道具 举报

19#
发表于 2022-9-16 09:12:29 | 只看该作者
shimeng0624 发表于 2022-9-16 08:06
感谢,附件基本没有问题,要是能再优化一下就更好了。文件命名要是能以获取到的IP命名就更好了,电脑太多 ...

脚本里的ip-mac.txt替换成!LIP!.txt就可以了

点评

感谢,目前 可以了。  详情 回复 发表于 2022-9-16 16:04
回复

使用道具 举报

20#
 楼主| 发表于 2022-9-16 16:04:05 | 只看该作者
holley2008 发表于 2022-9-16 09:12
脚本里的ip-mac.txt替换成!LIP!.txt就可以了

感谢,目前 可以了。
回复

使用道具 举报

21#
发表于 2022-9-20 08:51:39 | 只看该作者
谢谢分享
回复

使用道具 举报

22#
发表于 2022-10-24 10:10:15 | 只看该作者
学习了
回复

使用道具 举报

23#
发表于 2022-10-24 20:24:50 来自手机 | 只看该作者
好复杂的样子
回复

使用道具 举报

24#
发表于 2023-11-22 14:51:03 | 只看该作者
提示: 作者被禁止或删除 内容自动屏蔽
回复

使用道具 举报

25#
发表于 2023-11-22 19:41:09 | 只看该作者
研究研究看看
回复

使用道具 举报

26#
发表于 2023-11-24 01:02:09 | 只看该作者
提示: 作者被禁止或删除 内容自动屏蔽
回复

使用道具 举报

27#
发表于 2023-11-29 12:51:52 | 只看该作者
学习,感谢分享!
回复

使用道具 举报

28#
发表于 2023-11-30 16:13:47 | 只看该作者
感谢分享,谢谢!
回复

使用道具 举报

29#
发表于 2023-12-11 15:57:52 来自手机 | 只看该作者
学习一下
回复

使用道具 举报

30#
发表于 2023-12-11 16:50:19 | 只看该作者
支持原创教程
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|Archiver|捐助支持|无忧启动 ( 闽ICP备05002490号-1 )

闽公网安备 35020302032614号

GMT+8, 2024-11-15 14:48

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

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