1

我必须从字面上重命名数千个文件夹,并希望使用在旧名称前添加“旧”的脚本。

我试过这个脚本

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 $_"}

这是一个错误还是我只是愚蠢?

4

1 回答 1

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-ChildItemcmdlet 使用默认位置,即当前目录.$pwd

于 2018-12-19T14:50:48.027 回答