我的工资单以pdf文件的形式从工作中下载到我的笔记本电脑上,名称为
付款单04_06_2019-08_06_2019
,日期为ddmmyyyy格式
我正在尝试重命名它们以更好地排序
工资单20190604-20190608
我正在尝试拼凑一些零碎的东西,并发现使用regex,如果我以文本形式输入文件名,我可以将其转换为我想要的格式。其代码低于
'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'
但找不到将其与getchilditem和rename项一起使用以实际重命名文件的方法。我尝试过以各种不同的试错方式将上面的代码添加到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' }
解决方案:
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' }
我希望这就是你想要的:
#$path = "Path to your DPFs Folder"
$path = "c:MyPDFs"
$AllPDFs = Get-ChildItem $path
foreach($pdf in $AllPDFs)
{
cd $path
$Newpdf = $pdf -replace '[s+*_]',''
Rename-Item $pdf -NewName $Newpdf
}
工资单04_06/2019-08_06/2019
工资单04062019-08062019
谨致问候。