批处理文件,在cmd中一个目录中运行命令

问题描述 投票:17回答:6

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

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

batch-file
6个回答
27
投票

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

command1 & command2 & command3 & ...

因此,你的具体情况,把这个线在你的桌面上的一个批处理文件:

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

您还可以使用&&到链的命令,尽管这会执行错误校验,如果命令无法执行链将断裂。该行为是详细here

编辑:通过@詹姆斯K公司的评论出于好奇“你可以连的命令,但他们不会有任何效果”,我测试了一些让我吃惊发现,该程序我开始在我原来的测试 - firefox.exe - 而不是在现有的在PATH环境变量的目录,实际上是执行上的任何地方我的系统(这着实让我惊叹 - 看到答案的底部解释)。所以实际上执行...

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

......没有证明溶液工作。所以,我要确保这不是我的系统上Anywhere可执行文件后,选择了另一个程序(nLite的):

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

而这只是工作作为我原来的答复已经建议。一个Windows版本不会在这个问题给出的,但我使用的是Windows XP,顺便说一句。


如果有人有兴趣,为什么firefox.exe,而不是在PATH是,在我的系统上的任何可执行程序 - 并且很有可能对你还有 - 这是由于其中的应用程序可以注册成为随处可见的注册表键值。见this SU answer了解详情。


12
投票

对我来说,工作和运行Activiti的服务器,以及在浏览器中打开资源管理器(与zb226的答案和注释的帮助下)以下;

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

START /wait localhost:8080/activiti-explorer


5
投票

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

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

1
投票

CMD.EXE不会执行包含在字符串中的内部命令。只有实际的文件可以用字符串推出。

您将需要实际调用批处理文件做你想要什么。

Btlkbat

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
投票

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

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

我需要

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

如果这些命令都失灵,就无法显示正确的文件。我开始忘了改到U:,并运行在我的桌面上的批处理文件,它在http://localhost:8000在浏览器中创建了一个网页,显示了我的桌面,而不是我想要的文件夹的内容。


-2
投票

你也可以检查它:

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

© www.soinside.com 2019 - 2024. All rights reserved.