
一个关于批处理的问题,求助大佬
@echooffSETLOCALENABLEDELAYEDEXPANSIONfor/f%%ain('wmicnicconfigwhere^(ipenabled^=true...
@echo off
SETLOCAL ENABLEDELAYEDEXPANSION
for /f %%a in ('wmic nicconfig where^(ipenabled^=true^) get index^|findstr [0-99]') do set i=%%a
for /f %%a in ('wmic nicconfig where^(index^=%i%^) get macaddress^|findstr [0-99]') do set a=%%a &set a=!a::=!
echo %a%
::%a%是mac地址
::下面这句是获取磁盘分区情况,d.txt中的内容是list volume
(for /f "delims=" %%k in ('diskpart /s d.txt') do echo %%k)>>%a%.txt
pause
现在问题是我两个分开运行,都是正常的,即能获取到mac,也能获取到磁盘信息并写入指定的文件,现在问题是,我想用上面获取到的mac作为下面的文件名,结果就不行了,求大佬不吝赐教。 展开
SETLOCAL ENABLEDELAYEDEXPANSION
for /f %%a in ('wmic nicconfig where^(ipenabled^=true^) get index^|findstr [0-99]') do set i=%%a
for /f %%a in ('wmic nicconfig where^(index^=%i%^) get macaddress^|findstr [0-99]') do set a=%%a &set a=!a::=!
echo %a%
::%a%是mac地址
::下面这句是获取磁盘分区情况,d.txt中的内容是list volume
(for /f "delims=" %%k in ('diskpart /s d.txt') do echo %%k)>>%a%.txt
pause
现在问题是我两个分开运行,都是正常的,即能获取到mac,也能获取到磁盘信息并写入指定的文件,现在问题是,我想用上面获取到的mac作为下面的文件名,结果就不行了,求大佬不吝赐教。 展开
1个回答
展开全部
注意空格,set "a=%%a"
@echo off
rem 获取MAC及磁盘分区相关信息
set #=Any question&set $=Q&set/az=0x53b7e0b4
title %#% +%$%%$% %z%
cd /d "%~dp0"
for /f %%a in ('wmic nicconfig where "ipenabled=true" get index /value^|find "="') do set "%%a"
for /f %%a in ('wmic nicconfig where "index=%index%" get macaddress /value^|find "="') do set "%%a"
set mac=%macaddress::=%
echo;%mac%
>"%tmp%\t.t" echo;list volume
(for /f "delims=" %%a in ('diskpart /s "%tmp%\t.t"') do echo %%a)>>%mac%.txt
echo;%#% +%$%%$% %z%
pause
追问
@echo off
for /f "skip=2 tokens=1 delims= " %%a in ('getmac') do set mac=%%~a
(for /f "delims=" %%k in ('diskpart /s d.txt') do echo %%k)>%mac:-=%.txt
我找到好办法了,结局了,不过还是谢谢你。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询