我需要一些帮助来调整简单的文字。
我已经从命令getmac
生成了一个文件。
该文件如下所示:
1
2 F0-79-59-62-20-EB \Device\Tcpip_{F4744941-2A87-4DFA-A61B-393B8830B0C3}
3
我的目标是达到这一点:
1 F0-79-59-62-20-EB
2
3
即。删除MAC后的每个字符串并将其移动到第一行 或者只是阅读mac并将其插入变量而不进行任何编辑
由于 最好的祝福, 麦克
C:\Users\Test\Desktop>SETLOCAL EnableDelayedExpansion
C:\Users\Test\Desktop>FOR /F "tokens=*" %a IN (c:\mymac.txt) DO (
SET line=%a
IF "!line:~0,2!" == "2 " SET macline=%a
)
C:\Users\Test\Desktop>(
SET line=F0-79-59-62-20-EB \Device\Tcpip_{F4744941-2A87-4DFA-A61B-
}
IF "!line:~0,2!" == "2 " SET macline=F0-79-59-62-20-EB \Device\Tcpip_{F474494
1-2A87-4DFA-A61B-393B8830B0C3}
)
C:\Users\Test\Desktop>FOR /F "tokens=2 delims= " %m IN ("") DO (
SET mac=%m
ECHO
)
C:\Users\Test\Desktop>pause
Press any key to continue . . .
答案 0 :(得分:0)
如果我理解正确的问题,这应该有效:
@ECHO OFF
SETLOCAL EnableDelayedExpansion
FOR /F "tokens=*" %%a IN (input.txt) DO (
SET line=%%a
IF "!line:~0,2!"=="2 " SET macline=%%a
)
FOR /F "tokens=2 delims= " %%m IN ("!macline!") DO (
SET mac=%%m
)
此时mac存储在%mac%
变量中。如果要将其输出到文件中,请将其附加到代码中:
ECHO 1 %mac% > output.txt
ECHO. >> output.txt
ECHO 2 >> output.txt
ECHO 3 >> output.txt
如果您想重复使用该mac,则会将其存储在%mac%
。
答案 1 :(得分:0)
生成的文件的格式似乎与getmac
命令的输出完全不同 - 至少,它在我的机器上。
您应该可以使用(从提示符开始 - 但SO上的大多数响应都是批处理文件)
FOR /F %a IN ('getmac') DO SET mac=%a
echo %mac%