替换for循环中的char

时间:2017-03-15 15:31:08

标签: batch-file

有没有办法在批处理的for循环中将:search=replace - 语法应用于%%var

我正在尝试用机器的mac地址内的冒号替换所有连字符(然后使用它们)。不幸的是,我的常规方法set var=%var:-=:%在for循环中不起作用。

    FOR /F "tokens=12 delims= " %%G IN ('ipconfig /all ^| find /I "Physical Address"') DO (
      SET var=%%G
      SET newmac=%var:-=:%
      wget https://api-server-uri/pxe/do-stuff?newmac=%newmac%
    )

问题在于%var:-=:%的值与%%G一起不会改变。

由于

1 个答案:

答案 0 :(得分:0)

感谢Stephans评论:

    Setlocal enabledelayedexpansion
    FOR /F "tokens=12 delims= " %%G IN ('ipconfig /all ^| find /I "Physical Address"') DO (
      SET var=%%G
      wget https://api-server-uri/pxe/do-stuff?newmac=!var:-=:!
    )