标题: [系统相关] 求批处理命令导出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- @echo off
- REM 设置网络适配器的名称
- set "AdapterName=以太网"
-
- set "FileTmp=%temp%\ipList.txt"
- ipconfig /all >"%FileTmp%"
- for /f "delims=:" %%i in ('findstr /n /c:"%AdapterName%" "%FileTmp%"') do (
- set "SkipRow=%%i"
- goto :FindMAC
- )
-
- :FindMAC
- for /f "tokens=2 delims=:" %%i in ('more +%SkipRow% "%FileTmp%" ^| findstr "..-..-..-..-..-.."') do (
- set "MAC=%%i"
- goto :FindIP
- )
-
- :FindIP
- for /f "tokens=2 delims=:(" %%i in ('more +%SkipRow% "%FileTmp%" ^| findstr /v "IPv6" ^| findstr "IP"') do (
- set "IP=%%i"
- goto :ShowResult
- )
-
- :ShowResult
- set "MAC=%MAC: =%"
- set "IP=%IP: =%"
- for /f "tokens=3-4 delims=." %%a in ("%IP%") do (
- set "FileOut=%%a.%%b.txt"
- )
- echo,%IP% %MAC%
- >"%FileOut%" echo,%IP% %MAC%
- pause
复制代码
作者: Batcher 时间: 2024-1-7 11:27
回复 5# jshuanya
一般V2.bat- @echo off
- REM 设置网络适配器的名称
- set "AdapterName=以太网"
-
- set "FileTmp=%temp%\ipList.txt"
- ipconfig /all >"%FileTmp%"
- for /f "delims=:" %%i in ('findstr /n /c:"%AdapterName%" "%FileTmp%"') do (
- set "SkipRow=%%i"
- goto :FindMAC
- )
-
- :FindMAC
- for /f "tokens=2 delims=:" %%i in ('more +%SkipRow% "%FileTmp%" ^| findstr "..-..-..-..-..-.."') do (
- set "MAC=%%i"
- goto :FindIP
- )
-
- :FindIP
- for /f "tokens=2 delims=:(" %%i in ('more +%SkipRow% "%FileTmp%" ^| findstr /v "IPv6" ^| findstr "IP"') do (
- set "IP=%%i"
- goto :ShowResult
- )
-
- :ShowResult
- set "MAC=%MAC: =%"
- set "MAC=%MAC:-=%"
- set "IP=%IP: =%"
- for /f "tokens=3-4 delims=." %%a in ("%IP%") do (
- set "FileOut=%%a.%%b.txt"
- )
- echo,%IP% %MAC%
- >"%FileOut%" echo,%IP% %MAC%
- 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://www.bathome.net/) |
Powered by Discuz! 7.2 |