powershell - 如何使用列表文件重命名文件?

标签 powershell rename

我有 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.txtnew.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/

相关文章:

powershell - 卸载以特定字符串开头的所有软件

windows - 索引E :\data using batch file下的所有文件和文件夹

powershell - AD 组比较 - PowerShell

python - Python 中的列标题重命名循环

neo4j - 如何重命名 Neo4j 中的关系?

powershell - 使用PowerShell重命名FTP上的文件

azure devops ,使用变量组中的变量调用服务器命令

powershell - 如何分割包含换行符的字符串

pandas - 重命名列后得到keyerror

powershell - PowerShell/批处理脚本重命名每个文件以包括原始名称+文件夹名称