How to put double quotes in VS2010 post build step

Viewed 11468

I'm trying to create a post build file copy step in VS2010 which handles path macros when they have embedded spaces. I've tried surrounding the copy commands in double quotes but I get error from when copy is invoked if $(SolutionDir) contains a space. the echoed command line in the error message does not show the double quotes.

copy "$(SolutionDir)$(Configuration)\*" "$(TargetDir)"

I also tried separately \" and "" but both of these cause the 2 character escape sequence to appear in the echoed command line? How does one properly escape a double quote in a build step?

7 Answers

It is possible to just separate the trailing \ from the " with a . like so:

"$(TargetDir)."

The . just means "the current directory" (as opposed to .. to mean "the directory one level up from the current directory"); I've never actually had a use for it until this problem hit me too!

I had another situation. Running a tool inside the Solution Dir with two parameters containing paths with spaces. This was my solution:

"$(SolutionDir)Tool.exe" --solution-dir "$(SolutionDir)\" --project-dir "$(ProjectDir)\"

Put double quotes on the inital command, use double quotes on all paths AND use a backslash before the last double quote of each path.

Related