我想做一些start cmd.exe /k <commandOne> <commandTwo>
的事情。基本上如标题所述,我想启动一个命令提示符,然后在该命令提示符中运行多个命令。这可能吗?我还没有找到合适的答案,非常感谢您的帮助。
谢谢。
答案 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
进入循环之类的东西时,它不仅仅是简单的命令,但是根据您的要求,这应该涵盖了它。