批量重命名具有不同结尾的文件(不改变结尾)

批量重命名具有不同结尾的文件(不改变结尾)

我的问题是,我有一个包含许多不同文件的文件夹,例如:

xxxxxxxxx.avi       yyyyyyy.jpg         zzz.txt

我想将它们重命名为

001.avi  002.jpg  003.txt

它不适用于thunar rename,因为文件名的长度并不完全相同。

或许可以rename 's/.*......,但我有点卡住了......

感谢您的任何建议

答案1

如果你习惯使用命令行解决方案,那么你可以在 bash 中执行如下操作

i=1
for file in *.*; do
  printf -v newfile "%03d.%s" $((i++)) ${file##*.}
  echo mv -v -- "$file" "$newfile"
done

echo将阻止它实际进行任何更改(它只会输出它将要进行的命令列表) -一旦您确信它将执行您想要的操作,mv您就可以通过运行相同的命令来进行更改。echo

答案2

格温雷纳姆是一个系列重命名工具。它是作为 GwenView(KDE 的图像查看器)的外部工具创建的,但也可以从 Konkueror 使用。因此,要重命名的文件将作为命令行参数传递给它,并且没有其他方法可以将文件加载到其中。

主要目标是开发一款简单、轻量且适合日常使用的批量重命名工具。如果您正在寻找一款功能更强大、功能更丰富的重命名工具,您应该看看 Dominik Seichter 的 KRename。

gwen重命名

pyRenamer是一个用 PyGTK 编写的批量文件重命名器。

pyRenamer

  • 这两个应用程序都可以通过软件中心下载。

答案3

找到了另一个相当简短的解决方案:

  n=0; for f in * ; do mv "$f" "$n.${f/*./}"; n=$((n+1)); done 

相关内容