我想要一个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及更高版本)
答案 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不会回显。