脚本专栏 
首页 > 脚本专栏 > 浏览文章

PowerShell读取文件内容、替换文件内容、读取限定行的例子

(编辑:jimmy 日期: 2025/3/13 浏览:3 次 )

我只能说,使用PowerShell来读取文本文件实在是一件太简单的事情了。

Get-Content,获取指定位置的项的内容。

语法:Get-Content [-Path] <文件路径>
[-Path]由方括号引起,表示可以写,也可以不写;不写则默认后面是文件路径,写了就指名道姓的说后面是文件路径。

直接运行这样一个命令,PowerShell将会把文件的内容输出到控制台上,如果你是想看看文件的内容,那这样做就Perfect!

但有时候,你想玩点高难度的运作——想把文件翻开来对里面的内容进行修改,那后面你可以用管道来把它传出去,或者直接把它赋值给一个变量。举例如下:
复制代码 代码如下:$file = Get-Content "d:\1.txt"

Get-Content "d:\1.txt" | %{Write-Host $_.Replace("日","太阳")} #这样就可以实现把d:\1.txt的内容,逐一输出,并把“日”字,替换为太阳。

获取文件的前N行,这也是一个有趣的事。可以用一句PowerShell来搞定。举例如下:
复制代码 代码如下:
Get-Content d:\1.txt -totalcount 100 | set-Content top100.txt
说明:这里的Set-Content top100.txt是把前面一个语句的结果,写一个新的文件——top100.txt

如果这个时候,你想获取文件的第100行,你会不会想到去做一个很复杂的循环?如果是,那说明你有很好的编程素养。但是PowerShell告诉你不用如此麻烦。举例如下:
复制代码 代码如下:(Get-Content d:\1.txt -TotalCount 100)[-1]
说明:啥!你看到了啥?!如果你简单的看()[-1],那是不是像数组呢?-1表示最后一个数组元素,那就表示前100行的最后一行,那是不是第100行呢?!

最后要说一下,这个命令返回的是一个对象数组,可以用ForEach-Object(别名是%)去遍历它。非常方便,前面你应该已经看到“太阳”的例子了!

上一篇:PowerShell脚本实现添加、修改任务计划的例子
下一篇:PowerShell中查询错误编号信息的2个方法
一句话新闻
高通与谷歌联手!首款骁龙PC优化Chrome浏览器发布
高通和谷歌日前宣布,推出首次面向搭载骁龙的Windows PC的优化版Chrome浏览器。
在对骁龙X Elite参考设计的初步测试中,全新的Chrome浏览器在Speedometer 2.1基准测试中实现了显著的性能提升。
预计在2024年年中之前,搭载骁龙X Elite计算平台的PC将面世。该浏览器的提前问世,有助于骁龙PC问世就获得满血表现。
谷歌高级副总裁Hiroshi Lockheimer表示,此次与高通的合作将有助于确保Chrome用户在当前ARM兼容的PC上获得最佳的浏览体验。
友情链接:杰晶网络 DDR爱好者之家 南强小屋 黑松山资源网 白云城资源网 网站地图 SiteMap