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

如何在MSBuild脚本中转义ASCII代码,保留%80这类特殊字符?

解决MSBuild中保留环境变量里%80的问题

MSBuild会将%开头的字符序列视为特殊转义字符处理,所以环境变量PWD中的%80被解析为无效字符,最终显示为?。要保留原始的%80,需要将%转义为MSBuild可识别的字面量表示:

  1. 通过MSBuild的字符串替换函数,将环境变量中的%替换为%25(%25是MSBuild中表示字面%的转义符)
  2. 在Exec命令中使用转义后的属性值

修改后的MSBuild脚本如下:

<Project ToolsVersion="4.0" DefaultTargets="NetUse">
    <PropertyGroup>
        <!-- 将PWD中的%替换为%25,实现转义 -->
        <EscapedPWD>$([MSBuild]::Replace($(PWD), '%', '%25'))</EscapedPWD>
    </PropertyGroup>
    <Target Name="NetUse">
        <Exec Command='net use \location /user:the_user "$(EscapedPWD)"'/>
    </Target>
</Project>

当脚本运行时,MSBuild会将%25还原为%,最终执行的命令即为:net use \location /user:the_user "a%80b"

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.09 23:44:58