我有一个批处理文件,我通常这样调用:
longjob.cmd >result.txt 2>&1
Run Code Online (Sandbox Code Playgroud)
这样可以正常工作,但脚本在执行期间更改了目录,将我的shell保留在该目录中 - 这是一个令人讨厌的问题.
有没有办法在子shell中运行命令 - 同时仍然允许捕获输出?
我试过了
cmd longjob.cmd >result.txt 2>&1
Run Code Online (Sandbox Code Playgroud)
它只是等待退出命令.
我也试过了
start longjob.cmd >result.txt 2>&1
Run Code Online (Sandbox Code Playgroud)
它运行脚本,但在新窗口中,所有输出都发送到该窗口而不是文件.
Leo*_*son 12
尝试
CMD /C longjob.cmd >result.txt 2>&1
Run Code Online (Sandbox Code Playgroud)
不确定它将如何处理重定向,但是CMD/C允许您告诉CMD要运行什么以及它应该在完成时退出.(CMD/K让你告诉它运行一些东西,但在完成时就会坚持下去.)如果在一个内部运行,它将重新使用现有的控制台窗口.
| 归档时间: |
|
| 查看次数: |
25857 次 |
| 最近记录: |