是否可以使用start从cmd文件中使用输出重定向?

时间:2010-08-04 01:03:38

标签: windows shell command-line cmd

我想要一个cmd文件,例如:

:one
start /wait (blabla1.exe -q -m 1>blabla1.log 2>&1)

:two
start /wait (blabla2.exe -q -m 1>blabla2.log 2>&1)

我希望blabla应用程序的输出不是start命令的输出。

甚至可以在start命令中重定向“local”吗?

我是否必须创建包含
的1行cmd blabla1.exe -q -m 1>blabla1.log 2>&1
并将其传递给start命令?

更新:我需要在启动第二个(blabla2.exe)之前完成第一个(blabla1.exe)。这就是使用start /wait的原因。

(Windows XP及更高版本)

2 个答案:

答案 0 :(得分:17)

是的,可以使用/ B开关使用start wait命令重定向输出。

start /B /wait myprog.exe >> output.log

如果您需要突破,则必须使用 Ctrl + Break Ctrl + C 将被忽略了。希望这会有所帮助。

答案 1 :(得分:5)

鉴于您要将输出重定向到文件,并等待进程完成,是否实际需要'start'启动的额外窗口?实际上,如果在使用start时有一些方法可以重定向输出,那么弹出的窗口甚至没有任何输出......这使得它们变得毫无意义。

如果没有,只需删除“开始/等待”并直接调用exes。

如果有必要......那我不确定。

更新:我相当肯定只是删除“开始/等待”将产生你想要的行为。见下文:

(创建以下批处理文件:foo.cmd

:one
notepad.exe
:two
dir

请注意,在关闭记事本之前,dir不会回显。