visual-studiovisual-studio-2010post-build-event

Specify VS macros in a batch file to run pre or post build


I can use the VS macros like $(ProjectDir) in my pre & post build events. But is there any way I can specify them in a batch file & run the batch file as my pre & post build event?

e.g.

Before

Post-Build event

copy $(ProjectDir)foo.txt $(ProjectDir)\out\foo.txt

After

Post-Build event

CopyFoo.cmd

where CopyFoo.cmd contains

copy $(ProjectDir)foo.txt $(ProjectDir)\out\foo.txt

I want to do this to make my build events list more user-friendly to edit/update. Editing a batch file is much easier than editing the build events box in VS.


Solution

  • Not sure if you can access them or not (becuase $ has a different meaning inside batch file), but one way would be to pass them as command line arguments to the batch file. You can access them inside the batch file as %0 - %9.

    Post-Build event

    CopyFoo.cmd $(ProjectDir)
    

    Batch file

    copy %1foo.txt %1\out\foo.txt