![在 Windows 中批量重命名文件,按顺序生成新名称](https://linux22.com/image/1568430/%E5%9C%A8%20Windows%20%E4%B8%AD%E6%89%B9%E9%87%8F%E9%87%8D%E5%91%BD%E5%90%8D%E6%96%87%E4%BB%B6%EF%BC%8C%E6%8C%89%E9%A1%BA%E5%BA%8F%E7%94%9F%E6%88%90%E6%96%B0%E5%90%8D%E7%A7%B0.png)
我需要帮助批量重命名一些文件名。我有大约 300 个目录。所有文件都是 Word.docx
文件,重命名后仍需要保留 Word 文件。
每个文件夹中都有 1 到 20 个文件(绝不超过 26 个)。我需要按某种顺序排列它们(最好按其当前名称的字母顺序排列),然后重命名它们以遵循以下模式:
Example A.docx
Example B.docx
Example C.docx
etc.
我不能使用外部软件,只能使用终端。
答案1
下面是一个可执行您所要求操作的 PowerShell 脚本:
$letters = [char[]]([char]'A'..[char]'Z')
$directoryName = $null
$count = 0
Get-ChildItem -Path "your folder path" -File -Recurse |
ForEach-Object {
if ($directoryName -eq $null -or $directoryName -ne $_.DirectoryName) {
$directoryName = $_.DirectoryName
$count = 0
}
$newname = "Example " + $letters[$count++] + ".docx"
Rename-Item $_.fullname $newname
}
请先备份。