2017-08-29 126 views
0

我一直在尝试使用Powershell来批量重命名文件夹目录。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

我希望这能帮助

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

+0

是的,这正是我需要的。谢谢! –

1

是规则,该段始终以下划线分隔和“100”已经在最后段的开头添加?如果是这样,你可以做到这一点,像这样:

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

$x 
ab_839232_28921_1001891 
+0

它不那么高效 – user3813463