这是我尝试将应用程序可执行文件复制到另一个文件夹并更改其名称:
IF $(ConfigurationName) == Release (
SET DESTINATION=$(ProjectDir)Output\Distribution
IF NOT EXIST "%DESTINATION%" ( MD "%DESTINATION%" )
XCOPY /Q /Y "$(TargetPath)" "%DESTINATION%"
RENAME "%DESTINATION%\$(TargetFileName)" "$(TargetName).Plain$(TargetExt)"
)
我已经尝试了一切让它工作,但它总是抛出错误代码 255 或 1,这取决于情况。使用普通批处理文件运行该代码就像一个魅力!
您需要启用延迟扩张, 使用SETLOCAL 启用延迟扩展命令。在构建后事件的顶部执行此操作。之后,您可以不使用 %VARIABLE_NAME% 而是使用 !VARIABLE_NAME! 来访问变量。 (在变量名称的两侧使用感叹号,而不是在常规批处理文件中使用的百分比符号)。
所以,例如
SETLOCAL EnableDelayedExpansion
IF $(ConfigurationName) == Release (
SET DESTINATION=$(ProjectDir)Output\Distribution
echo My destination dir is !DESTINATION!
)
这将输出类似的内容
My destination dir is D:\Work\Projects\PBExample\Output\Distribution.
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)