【发布时间】:2013-10-08 23:55:09
【问题描述】:
我有一个批处理脚本,它基本上根据 Visual Studio 的预构建步骤中的配置进行一些字符串替换。当我从 cmd 运行批处理脚本时,它运行良好。但是如果我从 VS prebuild 运行它,以下行不会将 %replaceStr% 和 %version% 评估为变量值。我什至尝试回显那些 2 并且它们没有被评估为变量。
if NOT "!line!" == "" call set "line=!line:%replaceStr%=%version%!"
!replaceStr!和!版本!不过很好(通过回显,我认为我不能在 ! 中使用 ! 进行字符串替换。
从 VS 预构建命令运行时可能导致此操作失败但从 cmd 运行时工作正常的原因。我什至将 C:\windows\system32\cmd /c 添加到预构建中,但仍然无法正常工作。有什么想法吗?
谢谢!
【问题讨论】:
-
更多代码可以说明原因,您在命令块内显示的行吗?
标签: visual-studio-2010 batch-file cmd prebuild