我是一名批处理新手,可能犯了错。但我有以下的后构建事件:
IF $(ConfigurationName) == Release (
SET RELEASEPATH = "C:\Users\Synercoder\Documents\Visual Studio 2010\Releases\$(ProjectName)"
IF NOT EXIST %RELEASEPATH% (
GOTO MAKEDIR
) ELSE (
GOTO DIREXISTS
)
:MAKEDIR
MKDIR %RELEASEPATH%
:DIREXISTS
COPY /Y "$(TargetDir)$(ProjectName).dll" "%RELEASEPATH%\$(ProjectName).dll"
COPY /Y "$(TargetDir)$(ProjectName).pdb" "%RELEASEPATH%\$(ProjectName).pdb"
)
但是在使用代码255时失败了。如果我用实际路径替换所有的
%RELEASEPATH%
,那么它就可以工作了。我查阅了SET
命令,并且认为我使用得正确...但像我说的,我是一个批处理新手。你有任何线索吗?为什么在我的情况下会失败?如果我使用以下代码,这就是我的输出:
SET RELEASEPATH = test
ECHO "%RELEASEPATH%"
SET RELEASEPATH = "test"
ECHO "%RELEASEPATH%"
输出:
""
""
IF NOT EXIST "%RELEASEPATH%" MKDIR "%RELEASEPATH%"
放在一行中时,它才对我起作用。 - Mykhailo Seniutovych