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

如何用批处理脚本将Git SHA1 ID写入头文件的#define

批处理脚本生成单行Git版本头文件

以下是能正确生成单行#define GIT_VERSION "SHA1值"格式的批处理代码,解决换行符和双引号处理问题:

@echo off
setlocal

:: 捕获Git版本SHA1(包含dirty标记)
for /f "delims=" %%g in ('git describe --always --dirty') do set "GIT_SHA=%%g"

:: 覆盖生成头文件
echo #define GIT_VERSION "%GIT_SHA%" > version.h

endlocal

关键说明:

  • 使用for /f "delims=" %%g in ('命令')捕获git describe的输出,自动过滤掉命令输出末尾的换行符,将完整的SHA1字符串(含dirty标记)存入GIT_SHA变量。
  • echo ... > version.h直接输出单行定义并覆盖目标头文件,双引号会被正确保留在生成的内容中。
  • setlocal和endlocal用于隔离变量,避免影响脚本外部环境。

内容的提问来源于stack exchange,提问作者AamerAirlines

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.23 13:07:04