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

VS2019中$(WindowsSDK_ExecutablePath_x64)含多路径如何提取非.NET首条路径

实现方案

方法1:使用批处理分割宏值(无需修改其他配置)

生成后事件本质运行的是CMD脚本,可以直接用for命令分割分号分隔的宏值,提取第一个非.NET路径:

:: 遍历分割宏值,取第一个路径执行复制后直接退出循环
for /f "delims=;" %%i in ("$(WindowsSDK_ExecutablePath_x64)") do (
    copy /Y "%%i\file.ext" 你的目标路径
    goto endCopy
)
:endCopy

说明:

  • 生成后事件中批处理变量需要用双百分号%%i,如果是直接在CMD窗口测试请改为单百分号%i
  • delims=;指定用分号作为分隔符拆分宏的取值,第一段即为Windows SDK原生工具路径,不会匹配到后面的.NET工具路径
  • 加goto endCopy是为了只取第一个路径执行操作,避免遍历所有路径重复执行复制

方法2:使用更精准的单路径SDK宏(推荐)

VS2019提供了单独指向Windows SDK x64工具目录的宏$(WindowsKit10BinPath_x64),该宏本身就是单一路径,不会附带.NET工具路径,无需做任何字符串处理,直接替换原有宏即可:

copy /Y "$(WindowsKit10BinPath_x64)\file.ext" 你的目标路径

该宏会自动匹配你当前项目配置的Windows SDK版本,更新SDK版本时也无需手动修改配置。

注意事项

  • 所有路径两侧必须加英文双引号,避免路径中空格导致命令识别失败
  • 原$(WindowsSDK_ExecutablePath_x64)的取值已经包含bin层级,拼接子路径时不要重复写\bin,避免出现路径不存在的错误

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.11 23:51:04