最近又开始折腾pipeline了,对文件操作,这里实践并记录一下
https://learn.microsoft.com/zh-cn/powershell/module/microsoft.powershell.management/get-content?view=powershell-7.4
列出文件及文件夹 Get-ChildItem
Get-ChildItem -Path D:\1_data -Force
列出所有内容 Recurse
Get-ChildItem -Path D:\1_data -Force -Recurse
获取文件数据并转为json Get-Content
$packageJsonContent = Get-Content -Raw -Path $packageJsonPath | ConvertFrom-Json
读取每一行内容(常用日志打印)
$content = @(Get-Content -Path "D:\1\package.json")
for($i=0; $i -lt $content.Count; $i++)
{
Write-Host $content[$i]
}
打印固定行内容
以下是打印第二行内容,-1表示取数组元素的最后一个值
(Get-Content D:\1\package.json -TotalCount 2)[-1]
修改指定行内容
PS C:\Users\Menghua.Ye> Set-Variable filepath D:\1\package.json
PS C:\Users\Menghua.Ye> $content = Get-Content $filepath
PS C:\Users\Menghua.Ye> $content[2]=$content[2] -replace "0.1.0","0.1.2"
PS C:\Users\Menghua.Ye> $content | Out-File $filepath
PS C:\Users\Menghua.Ye> $content
{
"name": "web-viewer",
"version": "0.1.2",
"private": true,
重命名文件
Rename-Item -Path "c:\logfiles\daily_file.txt" -NewName "monday_file.txt"
Write-Host
下面这篇文章比较清楚的解释了isoutput,issecret的定义,以及如何设置环境变量,变量组
设置环境变量