标题: [网络连接] 批处理如何提取当前电脑MAC并去掉冒号使其成为变量? [打印本页]
作者: violet0313 时间: 2022-4-12 15:50 标题: 批处理如何提取当前电脑MAC并去掉冒号使其成为变量?
最近在做映射网络驱动器,想通过MAC地址来连接,但是文件夹共享时不能带有“ : ”,导致效果不理想。如果提取后能转换一下更佳,只要不会出现重复就行。希望各位老师指点一下。
另外在论坛参照了一些比如硬盘ID、主板ID、CPU编号之类的来作为唯一值做映射,结果主板ID会有获取不到和不唯一的情况(比如品牌机),硬盘ID也会有多硬盘识别问题或带有特殊符号。相同型号CPU编号是一样的。实在想不到别的方法,可能只能用MAC了吧。
作者: bluerabbit 时间: 2022-4-13 20:59
AdapterName 换成你的应该就行了,另外我的电脑是win10中文,不同系统上ipconfig出来的可能不一样- @echo off&setlocal enabledelayedexpansion
- set "AdapterName=无线局域网适配器 WLAN"
- for /f "tokens=1 delims=:" %%a in ('ipconfig /all ^| findstr /n "%AdapterName%"') do (
- set SkipRow=%%a
- goto :locateAdpater
- )
- :locateAdpater
- for /f "skip=%SkipRow% tokens=1,2 delims=.: " %%a in ('ipconfig /all') do (
- if "%%a" equ "物理地址" (
- set mac=%%b
- goto :showResult
- )
- )
- :showResult
- for /f "tokens=1-6 delims=-" %%a in ("%mac%") do (set mac=%%a%%b%%c%%d%%e%%f)
- echo,%mac%
- pause>nul
复制代码
作者: Batcher 时间: 2022-4-13 21:07
回复 2# bluerabbit
用 getmac 命令更方便一些- @echo off
- for /f %%a in ('getmac ^| findstr /b "..-"') do (
- set "MAC=%%a"
- )
- echo,%MAC%
- pause
复制代码
作者: bluerabbit 时间: 2022-4-13 21:32
回复 3# Batcher
一语惊醒梦中人,对呀,可以用 getmac 命令的,多谢多谢!
欢迎光临 批处理之家 (http://bbs.bathome.net/) |
Powered by Discuz! 7.2 |