我想为命令的每一行输出添加一个时间戳。例如:
foo
bar
baz
会成为:
[2011-12-13 12:20:38] foo
[2011-12-13 12:21:32] bar
[2011-12-13 12:22:20] baz
其中时间前缀是打印该行的时间。如何使用 PowerShell 实现这一目标?
我想为命令的每一行输出添加一个时间戳。例如:
foo
bar
baz
会成为:
[2011-12-13 12:20:38] foo
[2011-12-13 12:21:32] bar
[2011-12-13 12:22:20] baz
其中时间前缀是打印该行的时间。如何使用 PowerShell 实现这一目标?
假设您的命令是一个名为 的外部命令foo
,您可以通过 ForEach-Object 管道输出它以添加时间戳:
foo | ForEach-Object { "$(Get-Date -Format "[yyyy-MM-dd HH:mm:ss]") $_" }
您可以使用以下内容将其设为命名列:
x.exe |Select @{Name='XTime';Expression={"[$(Get-Date -Format 'yyyy-MM-dd HH:mm:ss')] $_"}}