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

Fra*_*ois 6 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)
Run Code Online (Sandbox Code Playgroud)

我想要blabla应用程序的输出而不是start命令的输出.

甚至可以在start命令中使用"local"重定向吗?

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

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

(Windows XP及更高版本)

小智 19

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

start /B /wait myprog.exe >> output.log
Run Code Online (Sandbox Code Playgroud)

如果你需要打破你必须使用Ctrl+ Break,Ctrl+ C将被忽略.希望这可以帮助.


Jos*_*non 5

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

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

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

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

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

:one
notepad.exe
:two
dir
Run Code Online (Sandbox Code Playgroud)

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