如何通过删除文件名中最后一次出现“ by”及其之后的所有内容来重命名几千个文件

问题描述 投票:0回答:1

我有数千个文件,文件名中包含作者名。这造成的主要问题是,由于提到了所有作者,文件名变得太长,并且由于Windows文件名长度限制,将它们移动到其他文件夹变得不可能。我需要通过删除最后一次出现的“ by”(包括“ by”本身)之后的所有内容来重命名文件。

重命名这么多文件的唯一方法是编写某种程序。最快的方法是什么?

windows batch-rename
1个回答
0
投票

您可以使用PowerShell脚本重命名多个文件。试试看:

$cur_dir = pwd
$files = Get-ChildItem $cur_dir
foreach($file in $files){
    $rev_name = $file.name
    $rev_name = $rev_name.ToCharArray()
    [Array]::Reverse($rev_name)
    $rev_name = -join $rev_name
    $indi = $rev_name.IndexOf("yb")
    if($indi -ge 0){
        $start_ind = $rev_name.length - $indi-2
        $final_name = $file.name.substring(0,$start_ind)
        Rename-Item -Path $file.name -NewName $final_name
      }
  }

希望对您有帮助。

© www.soinside.com 2019 - 2024. All rights reserved.