禁止命令行输出但仍然记录

时间:2016-02-15 11:36:12

标签: batch-file

我试图在命令提示符中抑制输出(主要是错误),但仍然记录日志文件中的所有其他输出。

这里我发现在cmd行输出中禁止它: Suppress command line output

但是我怎么能这样做,而同时会记录所有其他输出? (以C:\ log.txt为例)

谢谢

2 个答案:

答案 0 :(得分:2)

您提供的示例中有两个部分>nul2>&1

>nul将脚本(stdout)的输出重定向到nul

2>&1将错误(errout)重定向到默认输出

如果你写command >nul 2>&1,那么errout将被重定向到stdout,stdout将被重定向到nul

如果您只想记录正常输出但不记录错误,请使用此

command >logfile.txt 2>nul

答案 1 :(得分:2)

此代码只能将成功操作记录到文件 log.txt

并且所有错误都会重定向到nul

@echo off
set process=Test.exe,test2.exe,calc.exe,skype.exe
For %%a in (%process%) Do Call :KillMyProcess %%a
pause
Exit /b

:KillMyProcess
Taskkill /IM "%~1" /F >> log.txt 2>nul