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

(0)

相关推荐

  • PowerShell中读取多行文本示例

    适用于PowerShell3.0或者更高本版 有时,你可能会偶尔发现下面的代码: 复制代码 代码如下: $FilePath = "$env:SystemRoot\WindowsUpdate.log" $ContentsWithLinebreaks = (Get-Content $FilePath) -join "`r`n" 猜猜它,想干啥子奥,Get-Content 默认将文本文件以单行读取,并且返回一个多行数组,而-join操作符可以将它们转换成一个单独的字符串.

  • PowerShell中使用PrintManagement管理打印机示例

    适用于Windows 8.1或者Windows Server 2012 R2 Windows 8.1和Windows Server 2012 R2引入了一个组件:"PrintManagement",它包含了所有用来管理本地和远程机器打印机的命令. 下面的例子演示安装打印机驱动和打印机端口,先安装一个打印机,分享它,并设置一些属性. 复制代码 代码如下: $ComputerName = $env:COMPUTERNAME   $DriverName = 'Samsung SCX-483x

  • PowerShell中执行Javascript的方法示例

    背景与问题 别人写了一个Web应用程序,使用的是ASP.NET Forms技术.其中用到了一个DropdownList控件,用户选择了某项后,页面会回传,然后在下面再动态的显示另外一个控件,逻辑很简单. 这是产生的的部分的html源码: 复制代码 代码如下: <select name="eventTypeDropDown" id="eventTypeDropDown" onchange="javascript:setTimeout('__doPost

  • PowerShell中使用Get-EventLog读取、筛选系统日志的例子

    本文介绍使用PowerShell读取系统日志,可以按日志名称.日志类型.时间等多个因素进行筛选.PowerShell中提供了一个叫Get-EventLog的cmdlet,使用它可以读取系统日志. 运行一下这个Get-EventLog的cmdlet试一下: 复制代码 代码如下: PS C:\Users\zhanghong> Get-EventLog -LogName System 噢!如果你感觉你被小编害了,cmd窗口一直在滚动个不停,那么按Ctrl+C先把它停下来.然后我解释一下,之所以发生这样

  • Java读取PDF中的表格的方法示例

    目录 一.概述 ​二.环境配置 1. 手动导入 2. Maven仓库下载导入 三.读取PDF中的表格 一.概述 本文以Java示例展示读取PDF中的表格的方法.这里导入Spire.PDF for Javah中的jar包,并使用其提供的相关及方法来实现获取表格中的文本内容.下表中整理了本次代码使用到的主要类.方法及解释,供参考: 类型 描述 PdfDocument Class Represents a pdf document model. PdfDocument. loadFromFile (s

  • PowerShell中使用Get-ChildItem命令读取目录、文件列表使用例子和小技巧

    本文介绍一个PowerShell中使用Get-ChildItem这个cmdlet来获取目录下的文件列表.Get-ChildItem是获取子项目的意思,可以获取一个目录下的文件和子目录. 在DOS系统下,我们想查看一个目录下有哪些子目录和文件,我们可以通过dir命令来实现.在PowerShell中,dir命令貌似仍然可用.但洪哥告诉你,这个dir已经不是cmd.exe中的那个dir了,它是Get-ChildItem这个cmdlet的别名.也就是说,使用Get-ChildItem和使用dir得到的效

  • PowerShell中的函数重载示例

    在PowerShell中,我们可以使用Function关键字来定义一个函数,比如: Function Get-Data { Param ( [int] $data = -1 ) return $data; } 这个名为Get-Data的函数接收一个int类型的参数$data,直接将其返回.那么,我同时还需要一个接收string类型的Get-Data函数怎么办?方法比较奇怪,至少和传统的C++之类的语言不同. 在PowerShell中定义重载函数,需要指定参数所属的Parameter Set,如下

  • Java编程实现向文本文件中读取数据之Scanner用法示例

    本文实例讲述了Java编程实现向文本文件中读取数据之Scanner用法.分享给大家供大家参考,具体如下: 使用Scanner类来读取文件 我们使用Scanner类来从键盘上读取数据,也可以使用Scanner类来从文本文件中读取数据,我们先来看一个实例代码 package com.li; import java.io.FileInputStream; import java.io.FileNotFoundException; import java.util.*; public class Mai

  • PowerShell中文件对象的属性方法总结

    本文介绍一个PowerShell中文件对象有哪些属性,知道了这些属性对于我们更好的对文件进行操作是非常重要的. PowerShell是一个面向对象的脚本语言,在PowerShell中,所有的都是对象,文件也是对象.既然是对象,那肯定有属性.PowerShell中的文件对象,其实就是.NET中的System.IO.FileInfo类的实例.我们要查看完整的PowerShell文件对象的属性,其实不需要去翻MSDN,然后把System.IO.FileInfo类的属性找出来,那样太麻烦了,而且貌似在P

  • PowerShell中使用replace操作符替换字符串实例

    本文介绍PowerShell中的字符串替换操作符:replace.在replace中,可以使用正则表达式,这样就极大的提高了replace的功能. 复制代码 代码如下: PS> 'Unit1,Unit2,Unit3' -replace '[,\t]',';' Unit1;Unit2;Unit3 上面的这个示例,用途是从给定的字符串中,匹配逗号(,)或tab键(\t),将它们都替换成分号(;).这是一个非常常见的应用的,用于构造CSV文件时经常需要用到.CSV文件是以分号分隔每个单元的数据的. r

随机推荐