0

我一直在寻找与我的问题相关的问题,但找不到用于我想要实现的正确语法。

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

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

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

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

谁能建议我需要做的正确语法?

4

1 回答 1

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
}
于 2013-09-13T15:01:45.393 回答