批量文件名替换

批量文件名替换

我有近 4,000 个需要重命名的图像文件。它们都包含一种唯一 ID 号(我们称之为 ID1)以及一些其他单词,我需要将它们重命名为另一种唯一 ID 号(我们称之为 ID2),而不包含其他单词。我在 Excel 表中有 4,000 个 ID1 号和与每个 ID1 号配套的 ID2 号。有没有办法进行查找和替换,无论名称中的其他单词是什么,都可以找到每个唯一的 ID1,并用 ID2 替换整个名称?以下是我需要完成的一个示例:

原始文件名:“Discovery.123456.jpg”

我需要将其更改为:“789123.jpg”

所有 4,000 个文件都是单独命名的,我需要将它们更改为不同的单独名称。

答案1

您可以使用批处理文件来执行此操作:

for %%i in (<folder with the images>) do (set var=%%~i
    ren "%%~i" %var:~10%
)

这会重命名文件夹中的所有文件,删除文件名的前 10 位数字,使其成为123456.jpgDiscovery.123456.jpg您还可以拥有一个包含每个 ID1 的文本文件,并在 powershell 中执行以下操作:

$file = <filepath of text file>
cd <folder with images>
foreach ($line in $file){
    $names = @((dir -name | findstr /i $line))
    $namesf = $names.trimstart("$line")
    for ($i = 0; $i < $names.length; $i++){
        ren $names[$i] $namesf[$i]
    }
}

它的作用是检查文本文件中所有 ID1 的每一行,并在文件夹中找到它们,从文件名开头删除 ID1,并将其存储在变量中,然后将它们重命名为变量。它也可以同时处理多个带有 ID1 的内容。

祝你好运!

相关内容