Windows Powershell-使用文本文档中的列表重命名文件列表

Windows Powershell-使用文本文档中的列表重命名文件列表,powershell,rename,batch-processing,Powershell,Rename,Batch Processing,我尝试使用以下代码使用文本列表重命名文件文件夹“C:\www\folderx”。\list.txt“,但我不知道如何获取当前文件索引: Get-Childitem C:\www\folderx | % { $OldName = $_.name; $NewName = (GC ..\list.txt)[<CURRENT INDEX SHOULD GO HERE>]; # Rename-Item -Newname $NewName; Write-Outpu

我尝试使用以下代码使用文本列表重命名文件文件夹
“C:\www\folderx”
。\list.txt“,但我不知道如何获取当前文件索引:

Get-Childitem C:\www\folderx | % {
    $OldName = $_.name;
    $NewName = (GC ..\list.txt)[<CURRENT INDEX SHOULD GO HERE>];
    # Rename-Item -Newname $NewName;
    Write-Output $("Renamed {0} to {1}" -f $OldName,$NewName);
}
Get Childitem C:\www\folderx |%{
$OldName=$\u.name;
$NewName=(GC..\list.txt)[];
#重命名项-Newname$Newname;
写入输出$(“将{0}重命名为{1}”-f$OldName,$NewName);
}

没关系,我找到了一个较短的解决方案:为了提高效率,不要将
(GC..\list.txt)
放在foreach中。您正在读取管道中传递的每个文件的list.txt内容。您可以将其放在开始块中,例如
…|Foreach-Begin{$i=0;$c=gc..\list.txt}{$newname=$c[$i++];…}