首页 > 解决方案 > Batch rename multiple files in powershell with a prefix

问题描述

i have more than 200 files in a folder

JOB1_CostReport.xlsx
JOB2_CostReport.xlsx
JOB4_CostReport.xlsx
JOB3_CostReport.xlsx
JOB7_CostReport.xlsx
....
JOB196_CostReport.xlsx
JOB200_CostReport.xlsx

I want to reanme all these files with a suffix like this : JOB1_CostReport_Aug_2020.xlsx

I have tried : Get-ChildItem | rename-item -NewName { $_.Name + "_Aug_2020" }

the result was like this :

JOB1_CostReport.xlsx_Aug_2020
JOB2_CostReport.xlsx_Aug_2020
JOB4_CostReport.xlsx_Aug_2020
JOB3_CostReport.xlsx_Aug_2020
JOB7_CostReport.xlsx_Aug_2020
JOB196_CostReport.xlsx_Aug_2020
JOB200_CostReport.xlsx_Aug_2020

what I want is more like :

JOB1_CostReport_Aug_2020.xlsx
JOB2_CostReport_Aug_2020.xlsx
JOB4_CostReport_Aug_2020.xlsx
JOB3_CostReport_Aug_2020.xlsx
JOB7_CostReport_Aug_2020.xlsx
JOB196_CostReport_Aug_2020.xlsx
JOB200_CostReport_Aug_2020.xlsx

标签: powershellcmd

解决方案


try this:

Get-ChildItem | rename-item -NewName { $_.BaseName + "_Aug_2020" + $_.Extension}

推荐阅读