我有 100 个文件,我想根据相关列表以特定方式重命名。与其重复相同的 cmdlet,不如如下所示,我想将 cmdlet 指向几个包含旧名称和新名称的列表文件(如下),比如 old.txt 和 new.txt。如何使用 PowerShell 执行此操作?
示例:
Rename-Item -Path "E:\MyFolder\old1.pdf" -NewName new1.pdf
Rename-Item -Path "E:\MyFolder\old2.tif" -NewName new2.pdf
Rename-Item -Path "E:\MyFolder\old3.pdf" -NewName new3.pdf
列出文件:
old.txt =
old1.pdf
old2.tif
old3.pdf
new.txt =
new1.pdf
new2.tif
new3.pdf
最佳答案
为避免 old.txt
和 new.txt
文件中的条目不对齐,您还可以将文件放入 CSV 文件中:
renames.csv =
old1.pdf,new1.pdf
old2.tif,new2.tif
old3.pdf,new3.pdf
现在您可以使用 Import-Csv
导入您的“翻译集”:
$Renames = Import-Csv '.\renames.csv' -Header "OldName","NewName"
foreach($File in $Renames) {
Rename-Item $File.OldName $File.NewName
}
关于powershell - 如何使用列表文件重命名文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31012741/