[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖

[网络连接] 批处理如何提取当前电脑MAC并去掉冒号使其成为变量?

最近在做映射网络驱动器,想通过MAC地址来连接,但是文件夹共享时不能带有“ : ”,导致效果不理想。如果提取后能转换一下更佳,只要不会出现重复就行。希望各位老师指点一下。

另外在论坛参照了一些比如硬盘ID、主板ID、CPU编号之类的来作为唯一值做映射,结果主板ID会有获取不到和不唯一的情况(比如品牌机),硬盘ID也会有多硬盘识别问题或带有特殊符号。相同型号CPU编号是一样的。实在想不到别的方法,可能只能用MAC了吧。

回复 3# Batcher


    一语惊醒梦中人,对呀,可以用 getmac 命令的,多谢多谢!

TOP

回复 2# bluerabbit


用 getmac 命令更方便一些
  1. @echo off
  2. for /f %%a in ('getmac ^| findstr /b "..-"') do (
  3.     set "MAC=%%a"
  4. )
  5. echo,%MAC%
  6. pause
复制代码
我帮忙写的代码不需要付钱。如果一定要给,请在微信群或QQ群发给大家吧。
【微信公众号、微信群、QQ群】http://bbs.bathome.net/thread-3473-1-1.html
【支持批处理之家,加入VIP会员!】http://bbs.bathome.net/thread-67716-1-1.html

TOP

AdapterName 换成你的应该就行了,另外我的电脑是win10中文,不同系统上ipconfig出来的可能不一样
  1. @echo off&setlocal enabledelayedexpansion
  2. set "AdapterName=无线局域网适配器 WLAN"
  3. for /f "tokens=1 delims=:" %%a in ('ipconfig /all ^| findstr /n "%AdapterName%"') do (
  4.     set SkipRow=%%a
  5.     goto :locateAdpater
  6. )
  7. :locateAdpater
  8. for /f "skip=%SkipRow% tokens=1,2 delims=.: " %%a in ('ipconfig /all') do (
  9.     if "%%a" equ "物理地址" (
  10.         set mac=%%b
  11.         goto :showResult
  12.     )
  13. )
  14. :showResult
  15. for /f "tokens=1-6 delims=-" %%a in ("%mac%") do (set mac=%%a%%b%%c%%d%%e%%f)
  16. echo,%mac%
  17. pause>nul
复制代码

TOP

返回列表