【发布时间】:2020-08-03 18:13:51
【问题描述】:
我的工资单是从工作中下载到我的笔记本电脑上的,名称为 pdf 文件
工资单 04_06_2019 - 08_06_2019
日期为 ddmmyyyy 格式
我正在尝试重命名它们以更好地排序
PaySlip20190604-20190608
我正在尝试拼凑零碎,并发现使用正则表达式可以将文件名转换为我想要的格式,如果我将其作为文本输入。代码如下
'PaySlip 04_06_2019 - 08_06_2019.pdf' -replace
'.+(\d{2})_(\d{2})_(\d{4}) - (\d{2})_(\d{2})_(\d{4}).pdf',
'Payslip$3$2$1-$6$5$4'
但无法找到一种方法将它与 get-childitem 和 rename-item 一起使用来实际重命名文件。我尝试以各种不同的试错方式将上述代码添加到 gci 中,但都没有奏效。
有谁知道我哪里出错了,或者我需要以什么方式使用我输入的代码在功能上重命名文件?
谢谢
解决方案:
Get-ChildItem *.pdf |
Rename-Item -NewName { $_.name -replace
'.+(\d{2})_(\d{2})_(\d{4}) - (\d{2})_(\d{2})_(\d{4}).pdf',
'Payslip$3$2$1-$6$5$4.pdf' }
【问题讨论】:
-
您可以将该解决方案作为答案发布。 [grin] 不仅如此,你还可以接受它并获得声望分。
-
@Lee_Dailey 天才,我现在做到了,干杯
-
@AlexRussell - 您也可以将其标记为已接受 [grin] ...声望点将帮助您。另外,你可能会通过 S-O 介绍工作,因为这值得 100 个代表点 [我认为]。
标签: regex windows powershell rename