visual-studio - 如果一行包含“=”,则文件中的文本替换失败
问题描述
我正在尝试通过 Visual Studio 的后期构建操作中的批处理文件替换文件中的字符串。第一个字符串是lMkUk=
,第二个字符串(替换字符串)是##DummyValues##
.
在 Visual Studio 生成后操作中使用批处理文件将第一个字符串替换为第二个字符串时,第一个字符串未正确替换,而是替换为=##DummyValues##=
; =
在第二个字符串的开头和结尾添加。
但是,如果我使用相同的批处理文件删除第一个字符串末尾的=
(并使其成为),则该字符串将被成功替换。lMkUk
似乎=
是第二个字符串中的问题。
这是我的代码:
@echo on&setlocal
setlocal enableextensions disabledelayedexpansion
::License key replacement file
set sourceFile=%1
::Replacement string
set FirstVariable=lMkUk=
set SecondVariable=##DummyValues##
::Replacement statement
if NOT "%FirstVariable%" == "" (
for /f "delims=" %%i in ('type "%sourceFile%" ^& break ^> "%sourceFile%" ') do (
set "line=%%i"
setlocal enabledelayedexpansion
>>"%sourceFile%" echo(!line:%FirstVariable%=%SecondVariable%!
endlocal
)
)
如何在 Visual Studio 生成后操作中解决此问题?
解决方案
推荐阅读
- amazon-web-services - Boto3 在 AWS CodeBuild 中运行时使用哪些凭证?
- gcc - 编译后的精灵中出现了两个常量副本
- mongodb - 如何运行相同的数据库文件夹
- css - 使用 ace:datatable 更改 tbody 的可滚动表
- python - 时间序列数据的相等 x 轴刻度
- jsp - 从 servlet 分派到 jsp 时出现服务器错误
- android - 在三星文件资源管理器中打开自定义文件类型
- java - 为什么 bean 中的 Environment 在集成上下文中看不到来自源的属性?
- java - Spark 应用程序公平调度
- javascript - 如何拆分子数组并生成唯一组合