命令行程序通常把正常结果写到标准输出,把报错写到标准错误。windows 中标准输出编号为 1、标准错误编号为 2;正确使用 >、>> 和 2>&1,可以留下完整日志。日志可能包含用户名、路径、服务器地址或密钥片段,分享前应先脱敏。
区分覆盖写入和追加写入
在命令提示符中,ipconfig > network.log 会新建或覆盖日志,ipconfig >> network.log 会追加到文件末尾。图中两种写法执行后,追加日志的体积从 1930 字节增加到 3860 字节,而覆盖日志大小保持不变。重要旧日志应先备份,避免被 > 覆盖。

把错误流合并到同一个日志
要同时记录正常输出和报错,可在 CMD 使用 命令 > run.log 2>&1;顺序不能反写,因为 2>&1 是让错误流跟随当时的输出流。PowerShell 也支持这种写法,或用 *> run.log 收集全部 PowerShell 流。图中展示了 2>&1 后错误对象进入输出结果的实际效果。

读取日志并确认错误没有漏掉
执行完成后运行 Get-Content .\run.log,或用 Get-Content .\run.log -Tail 50 查看末尾。图中的 PowerShell 正在用 Get-Content 读取样例日志,便于确认时间、命令结果和错误消息都已写入。若只想分别保存,可使用 命令 1>out.log 2>error.log。












