繁体   English   中英

如何在PowerShell中的开始脚本中插入其他注释(字符串?)

[英]How to insert additional comments (string?) to Start-Transcript in PowerShell

(PowerShell初学者,请耐心等待...)我发现PowerShell中的Start-Transcript命令非常有用,它可以捕获写主机和写输出输出,这些输出原样写到日志中,同时在控制台上显示。 我试图在日志文件中添加上下文注释(为日志添加一些解释,以便人们阅读日志可以更好地理解上下文),但是我希望找到一种解决方案,该解决方案不涉及将任何内容吐到控制台上全部(写主机/输出执行)。

我的目标是:1)在日志中添加比默认日志文件创建的更为直观的​​日期/时间字符串,以及2)添加更多信息以提供日志上下文

您可以先创建脚本文件,向其中添加所有上下文信息,然后调用Start-Transcript -Append并指定为该脚本初始化的文件。 您可以使用如下功能(根据您的要求进行调整):

function New-Transcript {
  param(
    [parameter(Mandatory=$true)] [string]$Path
  )
  Get-Date -Format 'your preferred format' > $Path
  Write-Output 'Contextual message #1' > -Append $Path
  Write-Output "Contextual message #2 with $variable" > -Append $Path
  Start-Transcript $Path -Append
}

然后,您将像这样开始记录:

New-Transcript <TranscriptFilePath>

或者,如果您愿意,可以让它为笔录分配一些默认名称,例如

param(
  [string]$Path = "PowerShell_transcript_$(Get-Date -format 'yyyy-MM-dd_HH-mm-ss')"
)

确保在第一个>使用-Append开关,并在每个> 后面加上快捷键Out-File的简写),否则每次都会覆盖文件。

这只是一个框架。 您可能需要进一步开发New-Transcript函数,例如让它检查指定的路径是否已经存在,给它自己的-Append开关确定是否将现有的成绩单文件添加到或覆盖,添加参数控制哪些上下文消息是前置的,等等。

请注意,默认的PowerShell脚本标头将跟随您的自定义标头。 我不认为有办法抑制他们。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM