PowerShell 是一个功能强大的自动化脚本平台,不仅可以管理系统和服务,还可以轻松高效地处理各种文件操作。无论你是系统管理员、开发者,还是数据分析师,掌握 PowerShell 的文件处理能力都能让你的工作事半功倍。本文将带你系统性地了解如何用 PowerShell 玩转文件处理,从基础操作到进阶技巧,让你轻松驾驭文件的读取、修改、管理与批处理任务。
快速查看与读取文件内容
查看文件内容

支持按行读取文本文件,适合日志查看、配置文件处理等。
读取特定行数
读取前 2 行:
1
|
Get-Content .\1.txt -TotalCount 2
|

读取最后 2 行:
1
|
Get-Content .\1.txt -Tail 2
|

按关键字过滤内容
列出文件中包含关键字 “summer” 的行:
1
|
Get-Content .\1.txt | Select-String -Pattern "summer"
|

或者
1
|
Get-Content .\1.txt | Select-String -Pattern "summer"
|

创建与写入文件
创建文件
写入内容
1
|
Set-Content .\newfile.txt "Hello, PowerShell!"
|

追加内容
1
|
Add-Content .\newfile.txt "Awesome!!!"
|

复制、移动与重命名文件
复制文件
复制newfile.txt
文件到helloworld.txt
:
1
|
Copy-Item .\newfile.txt .\helloworld.txt
|
移动文件
将helloworld.txt
移动到archive
目录:
1
|
move-item .\helloworld.txt .\archive\
|
重命名文件
将newfile.txt
重命名为newfile2.txt
:
1
|
Rename-Item .\newfile.txt .\newfile2.txt
|
删除文件与目录
删除文件
删除newfile2.txt
文件:
1
|
Remove-Item .\newfile2.txt
|
删除目录
删除archive
目录:
1
|
Remove-Item .\archive\ -Recurse
|
批量处理文件
我们先创建 10 个文件,并写入一些内容:
1
2
3
4
|
1..10 | ForEach-Object {
$fileName = "demo$_.log"
"This is log file number $_" | Set-Content -Path $fileName
}
|
获取所有.log
文件
1
|
Get-ChildItem -Path .\ -Filter *.log
|
批量重命名文件
将所有.log
文件名中的demo
替换为access_log_
:
1
2
3
|
Get-ChildItem -Path .\ -Filter *.log | ForEach-Object {
Rename-Item $_ -NewName $_.Name.Replace("demo", "access_log_")
}
|
按修改时间排序
1
|
Get-ChildItem | Sort-Object LastWriteTime -Descending
|
合并多个文件为一个
1
|
Get-ChildItem -Path .\ -Filter *.log | Sort-Object LastAccessTime | ForEach-Object {Get-Content $_} | Set-Content access_log.log
|
压缩与解压文件
压缩为 ZIP 文件
1
|
Compress-Archive -Path .\*.log -DestinationPath .\log.zip
|
解压 ZIP 文件
1
|
Expand-Archive -Path .\log.zip -DestinationPath .\unzipped_logs
|

按文件内容查找文件
查找文件内容中包含关键字"summer"文件名:
1
|
Get-ChildItem -Path .\ -Filter *.txt | Where-Object { Select-String -Path $_.FullName -Pattern "summer"}
|

如果需要显示行内容和行号,可以使用如下命令:
1
2
3
|
Get-ChildItem -Path .\ -Filter *.txt | ForEach-Object {
Select-String -Path $_.FullName -Pattern "summer"
}
|

PowerShell 是处理文件的利器,无论是自动化任务、系统维护,还是数据处理,只需几行脚本就能完成复杂的操作。掌握以上这些技巧,不仅能提升你的工作效率,也能让你更加得心应手地管理系统资源。
如果你还没有开始使用 PowerShell,现在就是最好的时机。动手试试吧——你会发现,文件操作原来也可以这么有趣!