Powershell-重命名。在文件名中插入数字

时间:2017-08-29 17:48:18

标签: powershell rename rename-item-cmdlet

我一直在尝试使用Powershell批量重命名文件夹目录。

我有很多格式为ab_xxxxx_xxxxx_xxx的文件夹(其中x是数字) 我希望将其重命名为ab_xxxxxxx_xxxxxxx_100xxx。

我尝试使用“替换”命令重命名项目,并在每次_

之后添加100

实施例。 Get-ChildItem -Path ab_ _ _ * -Directory | ForEach-Object -Process {Rename-Item -Path $ .Name -NewName($ .Name -replace" _"," _100")}

我也尝试使用*外卡,但它只是将其添加到新文件夹名称。

非常感谢任何帮助

2 个答案:

答案 0 :(得分:3)

我希望这可以帮助

Get-ChildItem $path "ab_*" | where {$_.PSIsContainer} | ForEach-Object { Rename-Item $_.name ($_.name.insert(($_.name.LastIndexOf("_")+1),"100")) }

此powershell命令将重命名名为" ab_67890_12345_323"的文件夹。到" ab_67890_12345_100323"。我希望这就是你想要的。

答案 1 :(得分:1)

规则是,段始终用下划线和" 100"必须在最后一段的开头添加?如果是这样,你可以这样做:

$x = "ab_839232_28921_1891"
$y = $x -split '_'
$y[-1] = "100" + $y[-1]
$x = $y -join '_'

$x
ab_839232_28921_1001891