I am a batch newbie and I might have made a mistake. But I have the following post-build event:
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"
)
But this fails with code 255. If I replace all the %RELEASEPATH%
with the actual path it works. I looked up the SET
command and I think that I used it right... But like I said I am a batch newbie.
Any clue why this fails in my case?
If I use the following code this is my output:
SET RELEASEPATH = test
ECHO "%RELEASEPATH%"
SET RELEASEPATH = "test"
ECHO "%RELEASEPATH%"
Output:
""
""
First of all, spaces do matter! I would remove the " if I were you and only add them when the var is used.
SET RELEASEPATH=C:\Users\Synercoder\Documents\Visual Studio 2010\Releases\$(ProjectName)
IF NOT EXIST "%RELEASEPATH%" MKDIR "%RELEASEPATH%"
My solution was the following:
SET RELEASEPATH=%USERPROFILE%\Documents\Visual Studio 2010\Releases\$(ProjectName)
IF $(ConfigurationName) == Release (
IF NOT EXIST %RELEASEPATH% (
MKDIR "%RELEASEPATH%"
)
COPY /Y "$(TargetDir)$(ProjectName).dll" "%RELEASEPATH%\$(ProjectName).dll"
COPY /Y "$(TargetDir)$(ProjectName).pdb" "%RELEASEPATH%\$(ProjectName).pdb"
)
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With