标题: [系统相关] 如何通过批处理的方式获取系统主机相关信息? [打印本页]
作者: xiaolijian916 时间: 2015-12-22 02:05 标题: 如何通过批处理的方式获取系统主机相关信息?
获取本机主机名,当前操作系统以及位数,当前系统登录用户,本机联网IP地址,本机物理内存,本机物理地址,本机网卡物理地址,
输入到控制台下效果:- |-----------------------------------|
- |系统信息: |
- | |
- | 主机名:IELDR-PC |
- | |
- | 操作系统:Windows10_64bit |
- | |
- | 当前用户:Administrator |
- | |
- | 物理内存:7890M |
- | |
- | 联网IP:192.168.1.102 |
- | |
- | 物理地址:74-D0-1B-48-2D-46 |
- | |
- | 网卡地址:20-16-E8-D5-E5-5F |
- |-----------------------------------|
复制代码
作者: DAIC 时间: 2015-12-22 10:00
复制代码
复制代码
先来两个最简单的
作者: DAIC 时间: 2015-12-22 10:00
能否详细介绍一下你说的“物理地址”和“网卡地址”分别是在什么地方看到的?
作者: xiaolijian916 时间: 2015-12-22 15:40
回复 3# DAIC
cmd: getMac 命令是获取物理地址的,我想单独提取出来显示两行。
作者: xiaolijian916 时间: 2015-12-22 16:05
回复 3# DAIC
获取联网IP地址这个代码是这个,我想写成一行- @echo off
- for /f tokens^=1^,2^ delims^=^"^" %%a in ('wmic nicconfig get IPAddress /value ^| findstr /i "IPAddress=[^]"') do (set "ip=%%b")
- echo %ip%&
- pause
复制代码
作者: DAIC 时间: 2015-12-23 13:46
回复 4# xiaolijian916 - @echo off
- for /f %%i in ('getmac ^| findstr ..-..-..-..-..-..') do (
- echo 物理地址:%%i
- )
复制代码
作者: DAIC 时间: 2015-12-23 13:49
回复 5# xiaolijian916
这样算一行吗?- for /f tokens^=1^,2^ delims^=^"^" %%a in ('wmic nicconfig get IPAddress /value ^| findstr /i "IPAddress=[^]"') do echo %%b
复制代码
作者: xiaolijian916 时间: 2015-12-23 20:52
回复 7# DAIC
这样写不识别呀:- ^| 联网IP:for /f tokens^=1^,2^ delims^=^"^" %%a in ('wmic nicconfig get IPAddress /value ^| findstr /i "IPAddress=[^]"') do echo %%b ^|
复制代码
作者: xiaolijian916 时间: 2015-12-23 21:17
回复 7# DAIC - @echo off&setlocal enabledelayedexpansion
- echo.--------------------------------------------
- echo.^| 联网IP: ^| call :get_inter_ip ^|
- echo.--------------------------------------------
- pause
- REM 自定义批处理函数:获取本机物理地址
- :get_inter_ip
- for /f tokens^=1^,2^ delims^=^"^" %%a in ('wmic nicconfig get IPAddress /value ^| findstr /i "IPAddress=[^]"') do echo %%b
- goto :EOF
复制代码
作者: DAIC 时间: 2015-12-23 21:49
回复 9# xiaolijian916 - for /f tokens^=1^,2^ delims^=^"^" %%a in ('wmic nicconfig get IPAddress /value ^| findstr /i "IPAddress=[^]"') do (set "ip=%%b")
- echo.--------------------------------------------
- echo.^| 联网IP: ^| %ip% ^|
- echo.--------------------------------------------
复制代码
作者: xiaolijian916 时间: 2015-12-23 22:49
回复 10# DAIC
您好,我有多个IP地址,一个是无线WIFI的IP地址或宽带IP地址,还有个是虚拟WIFI的IP地址,或其他软件建立的网络连接,我只获取无线WIFI的IP地址或宽带IP地址怎么获取啊。能加你扣扣号吗,或者你加的扣扣3734368。
作者: DAIC 时间: 2015-12-24 21:49
回复 11# xiaolijian916
执行命令:
ipconfig /all > 1.txt
把1.txt压缩之后传上来
作者: xiaolijian916 时间: 2015-12-25 00:04
本帖最后由 xiaolijian916 于 2015-12-25 00:09 编辑
回复 12# DAIC
这几个我全解决了。我是win10,用netstat -a 有时候出现如下所示提示:
下面是源代码:- :scan-host
- REM ----------------------------------------------------------------------------------------->【扫描局域网所有主机】
- :设置允许获取局域网主机权限
- setlocal enabledelayedexpansion
- echo. ---------------------------------------------------------------------------------
- echo. ^| 《局域网主机信息列表》 ^|
- echo. ---------------------------------------------------------------------------------
- echo. ^| 主机名 ^| IP地址 ^| MAC地址 ^|
- echo. ---------------------------------------------------------------------------------
- for /f "skip=3 delims=\ " %%a in ('net view /cache') do (
- set "host=%%a"
- :判断命令是否执行完成,循环停止条件
- echo %%a | findstr "命令成功完成" && goto end
- set ip=
- set mac=
- for /f "tokens=2 delims=[]" %%b in ('ping -4 %%a -n 1 ^|find /i "ping %%a"') do set "ip=%%b"
- for /f "tokens=4 delims= " %%c in ('nbtstat -a %%a ^|find /i "MAC 地址"') do set "mac=%%c "
- if not defined ip set "ip=----------"
- if not defined mac set "mac=-----------------"
- echo. ^| !host:~-19! ^| !ip:~-19! ^| !mac:~-19! ^|
- echo. ---------------------------------------------------------------------------------
- )
- :end
- echo.
- pause
- goto dosmenu
复制代码
若图片不显示,请在浏览器右键查看源代码,弹出界面找到我编辑的回复内容中找到百度云图片链接地址,打开就能看到。
欢迎光临 批处理之家 (http://bathome.net./) |
Powered by Discuz! 7.2 |