Powershell 批量重命名文件
2021/6/6 7:30:22
本文主要是介绍Powershell 批量重命名文件,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
Powershell 重名文件方法
前言
Powershell 是Windows10 自带的可编程控制台,通过命令行可以实现复杂功能,最近由于工作需要,要将位于不同目录下面的文件以统一的方式命名。具体要求是学号-姓名-文章标题.docx,实现思想为:1. 将目录下面的文件名存储到变量$data里面,将所有学生信息(学号、姓名、文章题目)做成csv 文件,最后使用管道方式实现。
实现代码:
1. list.csv 文件包含所有学生信息
id,name,sex,teacher,class,title
2. $data 变量存储所有目录下的原始文件信息
$data = ls -Recurse -File -Include *.docx,*.doc |Sort-Object
注: -include 参数可以指定多个不同文件类型,-filter 只能指定一个。
3. 使用管道命令处理文件名
使用管道首先导入list.csv ,然后在$data 中使用-match 方法匹配含有学号的记录,最后使用 -replace 替换文件名中名称部分,后缀保持不变。
Import-Csv list.csv | ForEach-Object { if ($a=$data -match $_.id) { Rename-Item $a.fullname -newname ($a.name -replace'.*\.' , ($_.id+'-'+$_.name+'-'+$_.title'.'))} }
PS:
$a=$data -match $_.id 将目录下所有文件中与list.csv 中匹配的记录找出到,使用了foreach-object 遍历list 的方法,每次匹配到一条记录。(请保证每个文件名含有唯一id)
rename-item 命令使用正则表达是匹配,只需要将要替换的文件名覆盖,后缀保持不变。
这篇关于Powershell 批量重命名文件的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2022-09-14SharePoint 2019 用 PowerShell将启用发布功能站点网站集另存为模板
- 2022-08-30PowerShell教程 - 程序性能和BUG分析工具
- 2022-08-30PowerShell教程 - 模块管理(Modules Management)
- 2022-08-29PowerShell教程 - Web requests(Web请求)
- 2022-08-26PowerShell教程 - 日期时间管理(Date & Time Management)
- 2022-08-25PowerShell教程 - 磁盘与硬件管理(Disk & Hardware Management)
- 2022-08-25PowerShell教程 - 系统事件管理(System Event Management)
- 2022-08-25PowerShell教程 - 文件系统管理(File System Management)
- 2022-08-24PowerShell教程 - 网络管理(Network Management)
- 2022-08-24PowerShell