PowerShell重命名项将循环播放,直到文件达到字符数限制

时间:2018-12-19 14:13:58

标签: powershell scripting rename-item-cmdlet

我必须重命名成千上万个文件夹,并且想要使用在旧名称前添加“旧”的脚本。

我尝试了此脚本

Get-ChildItem | rename-item -NewName { "Old+ $_.Name }

当我在一些小的测试文件夹中尝试使用它以防止弄乱我的主文件夹时,它甚至可以工作,但是不幸的是,它在那儿工作,但在我的主文件夹中却没有。 在我的主文件夹中,该命令将循环播放,直到达到字符数限制并停止。

看起来像这样:

Old Old Old Old Old Old Old Old Old Old Old Old Old Old Old Old Old Old Old Old Old Old Old Old Old Old Old Old Old Old Old Old Old Old Old Old Old Old Old Old Old Old Old Old Old Old Old Zimmer.

在线我也找到了这个,但是它产生了相同的结果

get-childitem | % { rename-item $_ "Old $_"}

是错误还是我只是愚蠢?

1 个答案:

答案 0 :(得分:1)

要在给定路径中使用“旧”前缀重命名文件夹,这对我有用:

$path = "<PATH TO YOUR MAIN FOLDER>"
Get-ChildItem -Path $path -Directory | Rename-Item -NewName { "Old$($_.Name)" }

# For PowerShell version less than 3.0
# Get-ChildItem -Path $path | Where-Object { $_.PSIsContainer} | Rename-Item -NewName { "Old$($_.Name)" }

(通过不设置-Path参数,Get-ChildItem cmdlet使用默认位置,即当前目录.$pwd