Search code examples
visual-studiovisual-studio-2010

Visual Studio - Run Batch File


What I would like

I would like to easily run a batch file without leaving Visual Studio. The batch files are not always the same, they change depending on the solution I'm working with.

What I know so far

I know you can create custom shortcuts in the Tools section of Visual Studio (Under External Tools).

My solutions have various scripts/batch files and I wish there was a way to create shortcuts under a solution folder or some other place that is solution specific.

I can create the scripts but there doesn't seem to be a way to run the script. I don't like having to open Windows Explorer each time I want to run a script.

Perhaps an add-in that would start a process with the selected file in the solution explorer? Or something similar?


Solution

  • The best way to proceed is to write an external tool, and then you can pass in parameters based on your current solution that is loaded.

    There are many project and solution specific variables you can pass to your external tool. Open up the 'External Tools' dialog, and select your tool in the list box. You will see the title of your external tool, as well as the command that points to the script or batch script you want to call. The arguments edit box has a button next to it with an arrow next to it. Click the arrow and you will see a big list of variables, or parameters, you can pass to your external tool.

    So, for instance you can use the following:

    $(ProjectDir) - The full path directory of the project you are working on. for instance "C:\builds\myproject"

    $(ProjectPath) - The full path name of the vcproj you are working on. for instance "C:\builds\myproject\foo.vcproj"

    $(ProjectName) - The name of the project. for instance "foo"

    $(SolutionDir) - The full path directory of the solution that is currently loaded. for instance "C:\builds\mysolution"

    etc...