Board logo

标题: [系统相关] 求批处理命令导出IP地址,mac地址,导出文件名用ip地址最后两位命名。 [打印本页]

作者: jshuanya    时间: 2024-1-4 19:45     标题: 求批处理命令导出IP地址,mac地址,导出文件名用ip地址最后两位命名。

求批处理命令导出序列号,IP地址,及ip对应的mac地址,主机型号,操作系统,cpu,内存,硬盘,显示器型号到一个txt文件,中间用tab分隔,导出文件名用ip地址最后两位命名。

或者简单一点的话,可以只导出ip地址和mac地址,文件名用ip地址最后两位命名。
如果可以的话,导出的mac地址能否去掉-这个字符。
作者: Batcher    时间: 2024-1-4 20:55

回复 1# jshuanya


双击文件 C:\Windows\System32\cmd.exe
在打开的CMD窗口中执行以下命令:
ipconfig /all > "%userprofile%\Desktop\1.txt"

把桌面上生成的1.txt文件上传到网盘,我试试。
作者: jshuanya    时间: 2024-1-5 19:59

回复 2# Batcher


    链接: https://pan.baidu.com/s/1JXXrHE0LOkRODAxbGKLGEQ 提取码: bat1
作者: Batcher    时间: 2024-1-6 10:50

回复 3# jshuanya


    这里面有多个IP和MAC,你真正需要的是哪一个?
作者: jshuanya    时间: 2024-1-6 19:56

回复 4# Batcher


    一般只是以太网这个。最好是都有,格式类似如下:10.155.txt
以太网适配器 以太网: 172.16.10.155,物理地址. . . . . . . . . . . . . : CC-96-E5-31-5F-B5
无线局域网适配器 WLAN:,物理地址. . . . . . . . . . . . . : CC-5E-F8-41-C2-75
以太网适配器 以太网2:92.168.3.69,物理地址. . . . . . . . . . . . . : 00-0E-C4-39-83-12
作者: Batcher    时间: 2024-1-7 11:26

回复 5# jshuanya


一般V1.bat
  1. @echo off
  2. REM 设置网络适配器的名称
  3. set "AdapterName=以太网"
  4. set "FileTmp=%temp%\ipList.txt"
  5. ipconfig /all >"%FileTmp%"
  6. for /f "delims=:" %%i in ('findstr /n /c:"%AdapterName%" "%FileTmp%"') do (
  7.     set "SkipRow=%%i"
  8.     goto :FindMAC
  9. )
  10. :FindMAC
  11. for /f "tokens=2 delims=:" %%i in ('more +%SkipRow% "%FileTmp%" ^| findstr "..-..-..-..-..-.."') do (
  12.     set "MAC=%%i"
  13.     goto :FindIP
  14. )
  15. :FindIP
  16. for /f "tokens=2 delims=:(" %%i in ('more +%SkipRow% "%FileTmp%" ^| findstr /v "IPv6" ^| findstr "IP"') do (
  17.     set "IP=%%i"
  18.     goto :ShowResult
  19. )
  20. :ShowResult
  21. set "MAC=%MAC: =%"
  22. set "IP=%IP: =%"
  23. for /f "tokens=3-4 delims=." %%a in ("%IP%") do (
  24.     set "FileOut=%%a.%%b.txt"
  25. )
  26. echo,%IP% %MAC%
  27. >"%FileOut%" echo,%IP% %MAC%
  28. pause
复制代码

作者: Batcher    时间: 2024-1-7 11:27

回复 5# jshuanya


一般V2.bat
  1. @echo off
  2. REM 设置网络适配器的名称
  3. set "AdapterName=以太网"
  4. set "FileTmp=%temp%\ipList.txt"
  5. ipconfig /all >"%FileTmp%"
  6. for /f "delims=:" %%i in ('findstr /n /c:"%AdapterName%" "%FileTmp%"') do (
  7.     set "SkipRow=%%i"
  8.     goto :FindMAC
  9. )
  10. :FindMAC
  11. for /f "tokens=2 delims=:" %%i in ('more +%SkipRow% "%FileTmp%" ^| findstr "..-..-..-..-..-.."') do (
  12.     set "MAC=%%i"
  13.     goto :FindIP
  14. )
  15. :FindIP
  16. for /f "tokens=2 delims=:(" %%i in ('more +%SkipRow% "%FileTmp%" ^| findstr /v "IPv6" ^| findstr "IP"') do (
  17.     set "IP=%%i"
  18.     goto :ShowResult
  19. )
  20. :ShowResult
  21. set "MAC=%MAC: =%"
  22. set "MAC=%MAC:-=%"
  23. set "IP=%IP: =%"
  24. for /f "tokens=3-4 delims=." %%a in ("%IP%") do (
  25.     set "FileOut=%%a.%%b.txt"
  26. )
  27. echo,%IP% %MAC%
  28. >"%FileOut%" echo,%IP% %MAC%
  29. pause
复制代码

作者: jshuanya    时间: 2024-1-10 19:38

回复 7# Batcher


    非常感谢,可以使用。
能否把其他每块网卡的IP地址加上物理地址都显示到这个文件中呢?
作者: jshuanya    时间: 2024-1-10 20:46

回复 7# Batcher


    他每次都会覆盖新的文件,能否判断如果存在了这个文件,追加写下去而不是覆盖呢?
作者: jshuanya    时间: 2024-1-10 20:53

回复  jshuanya


一般V2.bat
Batcher 发表于 2024-1-7 11:27



        他每次都会覆盖新的文件,能否判断如果存在了这个文件,追加写下去而不是覆盖呢?
if exist %%a.%%b.txt (>>"%FileOut%" echo,%IP%        %MAC%) else (>"%FileOut%" echo,%IP%        %MAC%)
我添加了这么一行好像不管用,还是覆盖的。
作者: Batcher    时间: 2024-1-11 08:31

回复 9# jshuanya


    7楼代码倒数第二行>改成>>




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