PowerShell中读取多行文本示例
适用于PowerShell3.0或者更高本版
有时,你可能会偶尔发现下面的代码:
$FilePath="$env:SystemRoot\WindowsUpdate.log" $ContentsWithLinebreaks=(Get-Content$FilePath)-join"`r`n"
猜猜它,想干啥子奥,Get-Content默认将文本文件以单行读取,并且返回一个多行数组,而-join操作符可以将它们转换成一个单独的字符串。而伴随着PowerShell3.0的低调问世,有这么一个参数:-Raw,它可以非常高效的得到上面代码同样的结果:
$FilePath="$env:SystemRoot\WindowsUpdate.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
热门推荐
1 训练狗狗憋尿
2 狗狗追踪训练
3 狗狗训练要多少钱
5 深圳狗狗训练
6 训练狗狗唤回
7 狗狗叫怎么训练
8 狗狗训练班
10 狗狗社会化训练
11 狗狗叫回训练
12 广州狗狗训练学校
13 狗狗训练躺下
14 狗狗随行训练
15 训练狗狗巡回
16 狗狗要怎么训练
17 狗狗喂食训练
18 训练狗狗躺下