PowerShell 技能连载 - 避免使用重定向符
如果您还在使用旧的重定向操作符来将命令的结果输出到一个文件,那么您可以使用新的 PowerShell cmdlet 来代替。以下是原因:
#requires -Version 2
$OutPath = "$env:temp\report.txt"
Get-EventLog -LogName System -EntryType Error, Warning -Newest 10 > $OutPath
notepad.exe $OutPath
这将产生一个文本文件,内容和控制台中显示的精确一致,但不会包含任何对象的特性。
下一个例子确保输出的文本一点也不会被截断,并且输出使用 UTF8 编码——这些参数都是简易重定向所不包含的:
#requires -Version 2
$OutPath = "$env:temp\report.txt"
Get-EventLog -LogName System -EntryType Error, Warning -Newest 10 |
Format-Table -AutoSize -Wrap |
Out-File -FilePath $OutPath -Width 100
notepad.exe $OutPath
PowerShell 技能连载 - 避免使用重定向符