我正在尝试编写Windows cmd脚本来依次执行多个任务。但是,它总是在脚本中的第一个命令之后停止。
之后停止的命令是Maven构建(不确定是否相关)。
我如何使其继续进行并依次执行每个任务?
安装任何软件或配置注册表等完全是不可能的-恐怕它必须能在普通的Windows XP安装上工作。
理想情况下,如果任何命令失败,我希望脚本中止,但这是一个“不错的选择”,不是必须的。
谢谢。
我正在尝试编写Windows cmd脚本来依次执行多个任务。但是,它总是在脚本中的第一个命令之后停止。
之后停止的命令是Maven构建(不确定是否相关)。
我如何使其继续进行并依次执行每个任务?
安装任何软件或配置注册表等完全是不可能的-恐怕它必须能在普通的Windows XP安装上工作。
理想情况下,如果任何命令失败,我希望脚本中止,但这是一个“不错的选择”,不是必须的。
谢谢。
Answers:
当您调用另一个.bat文件时,我认为您需要在调用之前进行“调用”:
call otherCommand.bat
mvn
它本身就是.bat文件,因此您需要call
像call mvn install
;中那样使用它。通常,您不需要创建额外的cmd文件。
npm
更新和protractor
测试执行类似的操作。我没想到应用到我这个答案,直到我意识到npm
,并protractor
在.cmd
Windows上的文件。
仅当第一个命令成功执行时,才可以在命令之间使用&&符号来执行第二个命令。更多信息在这里http://commandwindows.com/command1.htm
start /B /WAIT calc
不知道为什么第一个命令会停止。如果可以并行处理,可以尝试类似
start cmd.exe /C 1.bat
start cmd.exe /C 2.bat
/K
代替/C
。
cmd.exe
和start
,就start x.bat1
可以了。
我刚刚做了创建批处理脚本以运行Maven测试脚本的完全相同的任务。问题在于,使用mvn clean install调用maven scrips本身就是一个脚本,因此需要通过调用mvn clean install来完成。
起作用的代码
rem run a maven clean install
cd C:\rbe-ui-test-suite
call mvn clean install
rem now run through all the test scripts
call mvn clean install -Prun-integration-tests -Dpattern=tc-login
call mvn clean install -Prun-integration-tests -Dpattern=login-1
注意使用call。这将允许在批处理文件中使用连续的Maven脚本。
如果您在Windows中运行,则可以使用以下命令。
驾驶:
cd "Script location"
schtasks /run /tn "TASK1"
schtasks /run /tn "TASK2"
schtasks /run /tn "TASK3"
exit