Can we execute a .bat file in post build event command line in visual studio?

Visual StudioVisual Studio-2008Visual Studio-2005Build Automation

Visual Studio Problem Overview


Can we execute a .bat file in post build event command line in visual studio?

Visual Studio Solutions


Solution 1 - Visual Studio

Sure, here's an example:

call "$(SolutionDir)scripts\copyifnewer.bat" "$(SolutionDir)libs\RLPL.Services.CertificateValidator.Basic.dll" "$(TargetDir)RLPL.Services.CertificateValidator.Basic.dll"
call "$(SolutionDir)scripts\copyifnewer.bat" "$(SolutionDir)libs\RLPL.Services.CertificateValidator.Common.dll" "$(TargetDir)RLPL.Services.CertificateValidator.Common.dll"

Just be aware of two possible issues you might have:

  1. the enclosing double quotes (see how each part is surrounded by " sign)

  2. if you want to call 2 or more batch files make sure you use call command otherwise you'll have a trouble finding why the second bat is not doing its job

Solution 2 - Visual Studio

Yes, by adding a call to it in the post-build event editor.

If you go to the Properties page for your project, you should select the Build Events tab. You can type in the call to your batch file in the Post-build event command line text box.

If you want to refer to the batch file using the paths included in the project or solution, you can click on the Edit Post-Build... button. This will open the Post-build Event Command Line dialog box.

This dialog box has a Macros >> button that you can click. It will show you all the available Macros that you can use to refer to folders and files within your solution.

When you select one of those macros, you can use the Insert button to insert them into your script.

Solution 3 - Visual Studio

As well as calling a .bat file, you can enter batch commands (i.e., the normal commands available from the Windows console--cmd.exe) directly into the Pre-build/Post-build fields. This may be preferable as it means you do not have to maintain the batch file separately, as all your commands will be part of the project.

Attributions

All content for this solution is sourced from the original question on Stackoverflow.

The content on this page is licensed under the Attribution-ShareAlike 4.0 International (CC BY-SA 4.0) license.

Content TypeOriginal AuthorOriginal Content on Stackoverflow
QuestionPandaView Question on Stackoverflow
Solution 1 - Visual StudioPiotr OwsiakView Answer on Stackoverflow
Solution 2 - Visual StudioMark SeemannView Answer on Stackoverflow
Solution 3 - Visual StudioPolyfunView Answer on Stackoverflow