使用powershell中的Get-ChildItem结果重命名文件

时间:2013-09-13 14:41:57

标签: file powershell syntax rename

我已经查找了与我的问题有关的问题,但找不到正确的语法来用于我想要实现的目标。

我想使用Get-ChildItem从文件夹中获取所有文件名,并将它们存储在变量中,然后使用这些名称重命名另一个文件夹中的所有文件。

从我所看到的,我需要类似的东西:

CD directory a
$newnames = Get-ChildItem
CD directory b
Get-ChildItem | Foreach {$name = $newnames} | Rename-Item -Newname {$name}

我想也许我面临的问题是从$ newnames变量中正确调用名称。

任何人都可以建议我需要做的正确语法吗?

1 个答案:

答案 0 :(得分:2)

假设您在这些文件夹中拥有相同数量的文件,这是一种方法。删除-WhatIf开关以实际重命名文件:

[array]$a = Get-ChildItem .\DirA
[array]$b = Get-ChildItem .\DirB

for($i=0; $i -lt $a.Length; $i++)
{
    $b[$i] | Rename-Item -NewName $a[$i] -WhatIf
}