一个关于批处理的问题,求助大佬

@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作为下面的文件名,结果就不行了,求大佬不吝赐教。
展开
 我来答
qop_dob
2019-08-12 · TA获得超过1.5万个赞
知道大有可为答主
回答量:1.3万
采纳率:79%
帮助的人:4254万
展开全部
注意空格,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
我找到好办法了,结局了,不过还是谢谢你。
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式