windows - 在 token 分隔符批处理文件中使用百分号

标签 windows batch-file

我正在尝试使用 Windows7 中的批处理文件(通过 netsh 命令)从接口(interface)获取 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.

我尝试使用 %% 、 ^% 和其他,但没有结果。 如何使用此符号作为分隔符?有没有其他方法可以去掉这部分?

谢谢,

最佳答案

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

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

例如这条线对我有用:

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

关于windows - 在 token 分隔符批处理文件中使用百分号,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37584380/

相关文章:

c++ - 使用 Windows 套接字进行蓝牙编程 - 范围内的设备

batch-file - 创建TortoiseSVN Start Commit本地 Hook 脚本来运行.bat文件,找不到指定的路径

windows - 如何让 Rcpp 在 Windows XP 平台上的 R 中工作?

windows - 批处理文件。如果语句?

windows - 延迟批处理文件中的 'for' 循环

unit-testing - 从批处理文件设置错误级别

orm - 如何使用 dapper orm 执行批处理操作?

node.js - 在 Windows Node.js 中使用 unix 文件行为

windows - 命名应用程序 explorer.exe 时 FPS 低

c# - 如何绘制数学符号?