76

我想做的很简单,但找不到方法。
在我的项目中,我有几个 .bat 文件(我知道,我老了)执行一些任务,比如运行 SqlMetal 等。

我只想右键单击该文件并选择“运行”或其他内容,以便执行 bat。我该怎么做?

注意:我知道我可以使用工具 -> 外部工具,但这不是我要找的

4

6 回答 6

148

如果每个项目都有一些与之关联的批处理文件,那么为什么不将它们包含在项目中并添加一个新的外部工具并将其与自定义菜单项链接以运行该工具呢?这将为您提供每个项目中的批处理文件列表以及运行它们的上下文菜单命令。唯一的缺点是它不是特定于文件类型的(它可以让您将任何文件作为批处理文件运行)。

这是如何做到的......

创建一个名为“运行批处理文件”的外部工具

  1. 将命令设置为:CMD.EXE
  2. 将参数设置为:/c "$(ItemPath)"
  3. 将初始目录设置为:$(ItemDir)
  4. 选中“使用输出窗口”复选框,然后应用以创建命令
  5. 请注意新命令出现在命令列表中的位置。外部命令从分隔条下方的 1 开始编号。#1 通常是“创建 GUID”

现在转到工具 -> 自定义并选择命令选项卡。

  1. 选择上下文菜单单选按钮,然后从下拉列表中选择“项目和解决方案上下文菜单|项目”。
  2. 现在使用“添加命令...”添加新命令
  3. 在类别列表中选择“工具”
  4. 从命令中选择与“运行批处理文件”自定义命令的位置相对应的“外部命令 #”,您在上面的步骤 5 中记下了编号。
  5. 将其移动到列表中的正确位置添加键盘快捷键等。
  6. 关闭对话框。

现在右键单击批处理文件,您应该会看到“运行批处理文件”菜单项。这将执行批处理文件并在 VS 输出窗口中显示其输出。

于 2011-04-09T16:34:29.710 回答
35
  • 右键单击解决方案资源管理器中的批处理文件
  • 从上下文菜单中选择“打开方式...”
  • 点击“添加...”</li>
  • 在“程序名称”文本框中,输入powershell.exe
  • 在“友好名称”文本框中输入“PowerShell”</li>
  • 选择“设为默认”</li>
  • 点击确定

通过

于 2015-02-18T16:46:08.450 回答
11

查看Open Command Line Visual Studio 扩展。

根据描述,它的特点是:

  • 在项目的根目录打开命令行。
  • 支持所有控制台,例如 CMD、PowerShell、Bash 等。
  • .cmd 和 .bat 文件的语法高亮、智能感知和执行

对于解决方案中的文件,会显示一个上下文菜单按钮。

执行批处理文件

或者,可以在编辑批处理文件时使用键盘快捷键 Shift+Alt+5。这使得执行任何批处理文件变得非常容易和快速 - 即使是那些不属于您的项目的文件。

于 2016-11-06T11:29:49.290 回答
6

右键单击解决方案资源管理器窗口中的文件,打开方式,单击添加按钮以添加您的 .bat 文件。在 .bat 中使用 %1 获取所选文件的路径。

于 2011-04-09T16:33:53.813 回答
1

上述任何一项都无法正常工作,但确实如此(VS 2019/2022):

  1. 在解决方案资源管理器中右键单击 .bat 文件并打开方式...
  2. 添加...
  3. 程序:CMD.exe
  4. 参数:/c %1
  5. 友好名称:命令
  6. 确定设置为默认值以双击从解决方案资源管理器中运行的批处理文件作为默认值(或右键单击打开方式...,如果您不希望它成为默认值,请选择命令)。

添加程序

于 2021-12-11T11:07:36.893 回答
0

只是一个建议:这是一个可以使用VsCommandBuddy扩展来完成的场景。以下配置是一个示例:

{
    "cmdname": "mk",
    "title": "Run MK.BAT",
    "description": "Run the MK bat file.",
    "cwd": "$(SolutionDir)",
    "filename": "cmd.exe",
    "arguments": "/C mk.bat",
    "async": false
}

您也可以分配快捷键,以便您可以使用快捷键调用批处理文件。输出出现在您的输出窗格中。

于 2017-05-26T17:34:05.980 回答