21

我想要一个批处理文件(必须放在桌面上),它执行以下操作;

  • 打开 cmd
  • 导航到一个目录,例如C:\activiti-5.9\setup
  • 在目录中运行一个命令,例如ant demo.start(这个命令运行 activiti 服务器)

我尝试了以下到达目录但如何运行命令,"ant demo.start"

START cmd.exe /k "cd C:\activiti-5.9\setup"

感谢您的帮助。

编辑:

参考下面zb226的回答:如果您能回答我,还有一个问题是如何使该cmd以管理员身份运行?以下工作吗?

START cmd /K "runas /user:administrator & cd C:\activiti-5.9\setup & ant demo.start"

4

6 回答 6

33

&使用这样的链接任意命令:

command1 & command2 & command3 & ...

因此,在您的特定情况下,将此行放在桌面上的批处理文件中:

START cmd.exe /k "cd C:\activiti-5.9\setup & ant demo.start"

您也可以使用&&链接命令,尽管这将执行错误检查,并且如果其中一个命令失败,执行链将中断。该行为在此处进行了详细说明

编辑:对@James K 的评论“您可以链接命令,但它们没有效果”很感兴趣,我测试了更多,令我惊讶的是发现,我在原始测试中启动的程序firefox.exe- 虽然不存在于环境变量中的目录PATH,实际上可以在我的系统上的任何位置执行(这真的让我想知道 - 请参阅答案底部的解释)。所以实际上执行...

START cmd.exe /k "cd C:\progra~1\mozill~1 && firefox"

...没有证明解决方案有效。因此,在确保它在我的系统上的任何地方都不可执行之后,我选择了另一个程序 (nLite):

START cmd.exe /k "cd C:\progra~1\nlite && nlite"

这就像我原来的答案已经建议的那样有效。问题中没有给出 Windows 版本,但我使用的是 Windows XP,顺便说一句。


如果有人感兴趣firefox.exe,为什么不在PATH我的系统上的任何地方都可以执行 - 很可能也可以在您的系统上执行 - 这是由于可以注册应用程序以在任何地方都可用的注册表项。有关详细信息,请参阅此 SU 答案

于 2012-08-28T23:26:49.467 回答
13

对我来说,以下是工作和运行 activiti 服务器以及在浏览器中打开资源管理器(在zb226 的回答和评论的帮助下);

START "runas /user:administrator" cmd /K "cd C:\activiti-5.9\setup & ant demo.start"

START /wait localhost:8080/activiti-explorer

于 2012-08-30T12:51:17.623 回答
11

这个问题是 5 岁。我想知道为什么仍然没有人找到/d 设置工作文件夹的开关:

start /d "c:\activiti-5.9\setup" cmd /k ant demo.start
于 2017-09-11T08:39:34.210 回答
3

CMD.EXE 不会执行包含在字符串中的内部命令。只能使用该字符串启动实际文件。

您将需要实际调用批处理文件来执行您想要的操作。

BAT1.bat

start cmd.exe /k bat2.bat

BAT2.bat

cd C:\activiti-5.9\setup
ant demo.start

您可能想要创建一个名为 的文件夹BAT,并将其位置添加到您的路径中。因此,如果您创建C:\BAT,请添加C:\BAT\;到路径中。路径位于:

    click -> Start -> right-click Computer -> Properties ->
    click -> Avanced System Settings -> Environment Variables
   select -> Path (From either list. User Variables are specific to 
                   your profile, System Variables are, duh, system-wide.)
    Click -> Edit
Press the -> the [END] or [HOME] key.
     Type -> C:\BAT\;
    Click -> OK -> OK

现在将所有批处理文件放入C:\BAT其中,无论当前目录如何,都可以找到它们。

于 2012-08-28T23:56:45.857 回答
1

我的 DID 按顺序执行命令。这是我使用它的版本:

开始 cmd.exe /k "U: & cd U:\Design_stuff\new_lcso_website_2017 & python -m http.server"

我需要

  1. 换成我的U盘
  2. CD 到包含我正在重新设计的网站的特定文件夹
  3. 使用 http 服务器模块执行 python(在我的浏览器中显示内容)。

如果这些命令有问题,它就不会显示正确的文件。我最初忘记更改U:并在我的桌面上运行批处理文件,它在我的浏览器中创建了一个网页http://localhost:8000显示我的桌面内容而不是我想要的文件夹。

于 2017-08-09T21:41:27.223 回答
-1

您还可以检查它:

cmd /c cd /d C:\activiti-5.9\setup & ant demo.start

于 2017-09-11T06:46:59.137 回答