我正在尝试重命名位于多个文件夹中的一堆文件。文件名不是唯一的,因为它们存在于多个目录中。因此,我想根据路径获取所有特定文件,然后使用 Rename-Item cmdlet 使它们独一无二。
我正在使用 Import-Csv cmdlet,因为我在文本文件中有路径和新文件名(标题分别是 oldPath 和 NewFileName)。
到目前为止我有这个:
$documentList = @(Import-Csv -Path 'C:\Users\Desktop\testFolder\fileWithPathAndNewFileName.txt')
$Paths = (ForEach-Object {
(Gci -Path $documentList.oldPath)
})
$Paths | ForEach-Object {Rename-Item -Path $_.FullName -NewName "$($documentlist.newFileName)"}
不幸的是,这并没有真正起作用,但感觉它几乎就在那里。我认为我搞砸的地方是 -NewName 参数。我只是不确定如何正确地从我的文本文件中填充 NewFileName 对象。任何帮助将非常感激。如果这看起来有点微不足道,我提前道歉,不幸的是我与我的 Powershell 不一致。