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.
Post-Build event
copy $(ProjectDir)foo.txt $(ProjectDir)\out\foo.txt
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.
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
Compared to the most accepted result, I here provide with a more intuitive way, especially when you have many macro wanted to use.
Post-Build event
set ENV_ProjectDir=$(ProjectDir)
call CopyFoo.cmd
CopyFoo.cmd
copy %ENV_ProjectDir%\foo.txt %ENV_ProjectDir%\out\foo.txt
Side notes:
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