PowerShell中读取多行文本示例_PowerShell教程-查字典教程网
PowerShell中读取多行文本示例
PowerShell中读取多行文本示例
发布时间:2016-12-28 来源:查字典编辑
摘要:适用于PowerShell3.0或者更高本版有时,你可能会偶尔发现下面的代码:复制代码代码如下:$FilePath="$env:System...

适用于PowerShell3.0或者更高本版

有时,你可能会偶尔发现下面的代码:

复制代码 代码如下:

$FilePath = "$env:SystemRootWindowsUpdate.log"

$ContentsWithLinebreaks = (Get-Content $FilePath) -join "`r`n"

猜猜它,想干啥子奥,Get-Content 默认将文本文件以单行读取,并且返回一个多行数组,而-join操作符可以将它们转换成一个单独的字符串。而伴随着PowerShell3.0 的低调问世,有这么一个参数: -Raw,它可以非常高效的得到上面代码同样的结果:

复制代码 代码如下:

$FilePath = "$env:SystemRootWindowsUpdate.log"

$ContentsWithLinebreaks = (Get-Content $FilePath) -join "`r`n"

$ContentsWithLinebreaks2 = Get-Content $FilePath -Raw

$ContentsWithLinebreaks -eq $ContentsWithLinebreaks2

试着运行上面的代码, $ContentWithLinebreaks 和$ContentWithLinebreaks2可能比较的结果略微有所不同,其不同可能只是换行符而已。

那我们继续辨别真伪,果不其然:

复制代码 代码如下:

PS> $ContentsWithLinebreaks -eq $ContentsWithLinebreaks2.TrimEnd("`r`n")

True

相关阅读
推荐文章
猜你喜欢
附近的人在看
推荐阅读
拓展阅读
  • 大家都在看
  • 小编推荐
  • 猜你喜欢
  • 最新PowerShell学习
    热门PowerShell学习
    脚本专栏子分类