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

Powershell-重命名。在文件名中插入数字,powershell,rename,rename-item-cmdlet,Powershell,Rename,Rename Item Cmdlet,我一直在尝试使用Powershell批量重命名文件夹目录 我有许多文件夹的格式是ab_xxxxx_xxxxx_xxxxx(其中x是一个数字) 我想把它重命名为ab_uxxxxxxx_xxxxxxx_u100xxx 我尝试将Rename Item与Replace命令一起使用,它会在每个\u之后添加100 前。 Get ChildItem-Path ab_u*-Directory | ForEach对象-Process{重命名项-Path$.Name-NewName($.Name-replace“”

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

我有许多文件夹的格式是ab_xxxxx_xxxxx_xxxxx(其中x是一个数字) 我想把它重命名为ab_uxxxxxxx_xxxxxxx_u100xxx

我尝试将Rename Item与Replace命令一起使用,它会在每个\u之后添加100

前。 Get ChildItem-Path ab_u*-Directory | ForEach对象-Process{重命名项-Path$.Name-NewName($.Name-replace“”,“100”)}

我还尝试使用*通配符,但它只是将其添加到新文件夹名中


如果您能提供任何帮助,我们将不胜感激。

规则是,段之间始终用下划线分隔,并且必须在最后一段的开头添加“100”?如果是这样,您可以这样做:

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

$x
ab_839232_28921_1001891

规则是,段之间总是用下划线分隔,并且必须在最后一段的开头添加“100”?如果是这样,您可以这样做:

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

$x
ab_839232_28921_1001891
我希望这能有所帮助

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”。我希望这是你想要的。

我希望这能有所帮助

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”。我希望这就是你想要的。

是的,这正是我需要的。非常感谢。是的,那正是我需要的。非常感谢。不是那么有效率不是那么有效率