2012-08-28 118 views
15

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

  • 打开CMD
  • 导航到的目录中,例如C:\ activiti-5.9 \ setup
  • 在目录中运行一个命令,例如,蚂蚁demo.start(该命令运行Activiti的服务器)

我尝试以下,以达到该目录,但如何运行命令,“蚁族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"

回答

12

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

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

START /wait localhost:8080/activiti-explorer

24

链任意命令:

command1 & command2 & command3 & ... 

因此,在您的特定情况下,就把这条线在批处理文件在桌面上:

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

你也可以使用&&来链接命令,尽管这将执行错误检查,并且如果其中一个e命令失败。行为详细here

编辑:通过@詹姆斯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

+0

您应该在发布之前测试。你可以链接命令,但是它们不会起作用。 –

+0

非常感谢zb226,它为我工作在同一个字符串,我能够运行activiti服务器。 如果你能回答我的问题,还有一个问题是如何让cmd以管理员身份运行?以下工作将会如何? 开始cmd/K“runas/user:administrator&cd C:\ activiti-5.9 \ setup&ant demo.start” 它实际上工作,但我不知道cmd是否在管理模式下运行或不。 – nommyravian

+0

这确实应该是一个单独的问题,或者包含在你的原始问题中,但是在这里你会发现:不,它不会以管理员身份运行。你已经在前面链接了'runas',但是你需要把我的答案作为'runas'的参数。要做到这一点,需要转义,并且'START'命令会带来麻烦(但我不认为你需要这样做,因为在桌面上点击一个批处理文件会产生一个新窗口)。长话短说,试试这个:'runas/user:administrator“cmd.exe/k \”cd C:\ activiti-5.9 \ setup ^&ant demo.start \“”'。 – zb226

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所有的批处理文件,他们会发现,无论当前目录。

+0

你确定使用内部命令?在我的最后,与'&'链接工作得很好(请参阅[我的答案](http://stackoverflow.com/a/12168950/1529709))。但是如果我错过了一些东西,请详细说明,学习永远不会是一件坏事:) – zb226

+0

嗯,**我从来没有得到内部命令来执行这种方式(尽管它会以这种方式运行实际文件)。我想我可能会错过一些东西,但是我已经在Windows 7 Ultimate,XP,2000 Server和98上尝试过了。不完全详尽的测试,但结果一致。 –

0

矿DID以便执行命令。这里是我的,我使用它的是什么版本:

START的cmd.exe/K “U:& CD U:\ Design_stuff \ new_lcso_website_2017 &蟒蛇-m http.server”

我需要

  1. 更改我的U盘
  2. CD到特定文件夹中包含网站,我重新设计
  3. 执行Python与HTTP服务器模块(显示在浏览器中的内容)。

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

-2

您还可以检查它:

CMD/C CD/d C:\ Activiti的-5.9 \ SETUP &蚂蚁demo.start

3

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

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