You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Windows下如何通过bat脚本提取flutter命令输出的engineRevision值

用Bat脚本提取Flutter engineRevision到变量

以下是可行的实现脚本,直接复制到.bat文件中即可:

@echo off
setlocal enabledelayedexpansion

:: 执行flutter命令并过滤出engineRevision所在行
for /f "delims=" %%a in ('flutter --version --machine ^| findstr "engineRevision"') do (
    set "line=%%a"
)

:: 从行中提取engineRevision的值,去掉引号和多余字符
set "engine_revision=!line:*"engineRevision": "=!"
set "engine_revision=!engine_revision:~0,-2!"

:: 输出结果,也可以直接使用变量%engine_revision%
echo Engine Revision: %engine_revision%

endlocal

代码说明:

  • setlocal enabledelayedexpansion:启用延迟变量扩展,方便在for循环内修改和读取变量
  • findstr "engineRevision":过滤出包含目标字段的行,输出格式类似 "engineRevision": "abc123def",
  • 第一行变量替换!line:*"engineRevision": "=!":删除行开头到"engineRevision": "的部分,剩余内容为abc123def",
  • 第二行!engine_revision:~0,-2!:去掉最后两个字符(",),得到纯净的哈希值

如果想简化逻辑,也可以把提取步骤合并到for循环中:

@echo off
setlocal enabledelayedexpansion

for /f "tokens=2 delims=:, " %%a in ('flutter --version --machine ^| findstr "engineRevision"') do (
    set "engine_revision=%%~a"
)

echo Engine Revision: %engine_revision%
endlocal

补充说明:

  • tokens=2 delims=:, :以:、,、空格为分隔符,提取第二部分内容(带引号的哈希值)
  • %%~a:自动去掉变量%%a的引号,直接得到纯净的字符串

内容的提问来源于stack exchange,提问作者Franklin'j Gil'z

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.30 04:13:13