用于在目录中的cmd中运行命令的批处理文件

时间:2012-08-28 22:39:02

标签: batch-file

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

  • 打开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"

6 个答案:

答案 0 :(得分:26)

使用&链接任意命令,如下所示:

command1 & command2 & command3 & ...

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

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

您也可以使用&&来链接命令,虽然这会执行错误检查,如果其中一个命令失败,执行链将会中断。行为详细here

编辑:由@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,但在我的系统上的任何地方都可执行 - 而且很可能在你的系统上 - 这可能是由于注册表项所在的应用程序可以注册随处可用。有关详细信息,请参阅this SU answer

答案 1 :(得分:12)

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

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

START /wait localhost:8080/activiti-explorer

答案 2 :(得分:5)

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

start /d "c:\activiti-5.9\setup" cmd /k ant demo.start

答案 3 :(得分:1)

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中,无论当前目录如何,都会找到它们。

答案 4 :(得分:0)

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

START cmd.exe / k“U:& cd U:\ Design_stuff \ new_lcso_website_2017& python -m http.server”

我需要

  1. 更改为我的U盘
  2. CD到包含我正在重新设计的网站的特定文件夹
  3. 使用http服务器模块执行python(在浏览器中显示内容)。
  4. 如果这些命令乱序,则不会显示正确的文件。我最初忘记更改为U:并在我的桌面上运行批处理文件,它在我的浏览器中创建了一个网页http://localhost:8000向我显示我的桌面内容而不是我想要的文件夹。

答案 5 :(得分:-2)

你也可以检查它:

  

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