0

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

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

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

前任。Get-ChildItem -Path ab_ _ _* -Directory | ForEach-Object -Process { 重命名-Item -Path $ .Name -NewName ($ .Name -replace "_", "_100") }

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

任何帮助将不胜感激

4

2 回答 2

4

我希望这会有所帮助

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

于 2017-08-29T18:21:48.273 回答
1

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

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

$x
ab_839232_28921_1001891
于 2017-08-29T18:15:11.460 回答