Bra*_*Don 5 redirect stdout dos stderr doskey
我试图定义一个DOSKEY宏,将STDOUT和STDERR输出重定向到一个文件.将通过运行批处理文件来设置doskey.我只能通过以下方式为STDOUT执行此操作:
doskey logged_build=build $g build.log
Run Code Online (Sandbox Code Playgroud)
但是,我不能使用典型的2>&1选项(如下所示)将STDERR输出重定向到同一文件.
doskey logged_build=build $g build.log 2>&1
Run Code Online (Sandbox Code Playgroud)
我也试过了
doskey logged_build=build $g build.log 2$g&1
Run Code Online (Sandbox Code Playgroud)
这给出了语法错误和
doskey logged_build=build $g build.log 2$g build.log
Run Code Online (Sandbox Code Playgroud)
这会导致无法访问该文件的错误,因为该文件正由另一个进程使用.
我确信这只是使用正确的宏通配符(比如使用$ g而不是>),但我已经完成了大量的谷歌搜索,但还没有找到任何东西.所以我向你们的SOFers提出了问题.
小智 1
我也曾在网上寻找解决方案,但没有成功。我能想到的最好方法是将 2>&1 添加到宏的调用中:
doskey logged_build=build $* $g build.log
Run Code Online (Sandbox Code Playgroud)
然后这样调用它:
logged_build 2>&1
Run Code Online (Sandbox Code Playgroud)