在令牌分隔符批处理文件中使用百分比符号

时间:2016-06-02 06:36:24

标签: windows batch-file

我试图在windows7中使用批处理文件(通过netsh命令)从界面获取ipV6地址,但我不知道如何将%作为分隔符:这就是为什么我有:

FOR /F "tokens=1,2,3 delims= " %%A IN ('netsh int ipv6 show address "%IFACEWAN%" ^| FIND "Parameters"') DO (
    SET WANNIC.IPV6=%%B
)

结果是:

WANNIC.IPV6=0000::aaaa:bbbb:cccc:dddd%12

但我想删除最后的"%12"从结果。我尝试使用%作为分隔符,但它不起作用:

| was unexpected at this time.

我尝试使用%%,^%和其他,但我没有结果。 如何将此符号用作分隔符?还有其他方法可以删除这部分吗?

谢谢,

1 个答案:

答案 0 :(得分:3)

你需要double it并将空格作为最后一个分隔符:

FOR /F "tokens=1,2,3 delims=%% " %%A IN ('netsh int ipv6 show address "%IFACEWAN%" ^| FIND "Parameters"') DO (
    SET WANNIC.IPV6=%%B
)

E.g。这条线对我有用:

for /f "tokens=1,2,3,4,5 delims=%% " %%a in ('netsh int ipv6 show address^|find /i "infinite"') do echo %%e