有没有一种方法可以批量启动命令提示符,然后在该命令窗口中运行多个命令?

时间:2020-02-23 04:14:57

标签: batch-file cmd

我想做一些start cmd.exe /k <commandOne> <commandTwo>的事情。基本上如标题所述,我想启动一个命令提示符,然后在该命令提示符中运行多个命令。这可能吗?我还没有找到合适的答案,非常感谢您的帮助。

谢谢。

1 个答案:

答案 0 :(得分:1)

目前尚不清楚您想要什么,但是我有一个不错的主意。因此,这里有一些不同的示例。

使用cmd从同一个提示符运行多个命令,而无论先前的命令是否成功完成。

command1 & command2 & command3

或有条件的。换句话说,只有前一个命令成功完成,才运行下一个命令。 (换句话说,command1必须在%errorlevel% 0开始之前以command2退出,以此类推。

command1 && command2 && command3

与上述类似,但是只有第一个命令必须成功完成才能运行其他命令,在这种情况下command2可能会失败,并且command3仍会运行。

command1 && command2 & command3

另一个有条件的示例,该块中的代码使command2依赖于command1,但是command3将会在其他两个失败的情况下运行。

(command1 && command2) & command3

要启动新的cmd窗口并在其中运行命令,并在完成后关闭cmd。

start cmd /c command1 ^& command2 ^& command3

要启动新的cmd窗口并在其中运行其他命令,并在本地运行其他命令并使窗口保持打开状态。

start cmd /k command1 & command2 & command3

或并行运行每个命令

command1 | command2 | command3

运行命令和另一个批处理文件

command1 & call command2.cmd & command3

或者,如果您只是想要一个简单的批处理文件。

或在新窗口中启动命令,等待它完成,然后在本地运行另一个命令并调用批处理文件。

start "" /wait command1 & command2 & call command3.cmd

运行2个命令并将两个命令输出重定向到nul

(command1 & command2)>nul

相同,但也将stderr重定向到stdout

(command1 & command2)>nul >2&1

或仅将一个命令重定向到nul

command1 >nul >2&1 & command2

或只是简单的batch-file

@echo off
Command1
Command2
Command3
pause

进入循环之类的东西时,它不仅仅是简单的命令,但是根据您的要求,这应该涵盖了它。

相关问题