我很不熟悉PowerShell,我想将所有行通过管道输出到一个日志文件中并记录时间,但我不想明确地将所有命令都管道到日志文件中,以避免视觉混乱并使代码易于扩展。
我不确定现有的方法是否能够实现我的要求,所以希望得到指点或帮助。
我不确定现有的方法是否能够实现我的要求,所以希望得到指点或帮助。
Start-Transcript
,并在结尾处使用Stop-Transcript
。Write-Log
函数,如这里的一个答案所述:Create Log File in Powershell
这里有一个简单的版本供你参考:function Write-Log {
Param(
$Message,
$Path = "$env:USERPROFILE\log.txt"
)
function TS {Get-Date -Format 'hh:mm:ss'}
"[$(TS)]$Message" | Tee-Object -FilePath $Path -Append | Write-Verbose
}
Write-Log 'Some message'
Tee-Object
将其指向Verbose输出流和文件。如果启用$VerbosePreference(或在脚本中支持-Verbose),则可以查看Verbose消息。.\yourscript.ps1 | Out-File output.txt