gpt4 book ai didi

powershell - 重命名文件以符合标准

转载 作者:行者123 更新时间:2023-12-02 03:06:48 26 4
gpt4 key购买 nike

在人事文件夹中,有关于由人事主管创建的员工培训的文件。这些文件的命名约定始终应该是

Supervisorname.SXXEXX.NameOfIssue.doc

所以进一步分割:

  • 主管姓名 = Bob Godfrey
  • SXX = 规定编号(始终为 2 位数字,范围为 01 - 99,但并非所有数字都被使用)
  • EXX = 员工编号(始终为 2 位数字,我们还没有达到需要移动到 3 位数字或 E 以外的差异前缀的地步......)

因此示例名称将是 Bob Godfrey.S48E99.Issue With Blue.doc - 但是,由于一些主管不遵守规则,所以有些文件没有 分隔符,我们有看起来像的文件

Bob Godfrey - S48E99 - Issue With Blue.doc
Bob Godfrey X S48E99 - Issue With Blue.doc
Bob Godfrey S48E99 - Issue With Blue.doc

为了规范化的目的,(并且为了我不要在这个过程中拉扯我的头发)我现在尝试使用下面的语法来获取这些异常值并重命名它们(大约有 300 个),而这似乎可以正常执行,文件不会重命名。

我需要更改什么才能相应地重命名这些文件?

Get-ChildItem -Path R:\Personnel\ -Filter *.doc |
Rename-Item -NewName { $_.BaseName.Replace(" - ", ".") + $_.Extension } -Verbose

Get-ChildItem -Path R:\Personnel\ -Filter *.doc |
Rename-Item -NewName { $_.BaseName.Replace(" X ", ".") + $_.Extension } -Verbose

最佳答案

使用正则表达式替换将您的匹配集中在文件名的规定/员工编号部分:

Rename-Item -NewName { $_.Name -replace ' (?:[-X] )?(S\d\dE\d\d)(?: [-X])? ', '.$1.' }

关于powershell - 重命名文件以符合标准,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42175365/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com