我试图在命令提示符中抑制输出(主要是错误),但仍然记录日志文件中的所有其他输出。
这里我发现在cmd行输出中禁止它: Suppress command line output
但是我怎么能这样做,而同时会记录所有其他输出? (以C:\ log.txt为例)
谢谢
答案 0 :(得分:2)
您提供的示例中有两个部分>nul
和2>&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