如何一次重命名多个文件?

我需要重命名一堆文件以修复它们的排序顺序,因此我需要能够进行一种“查找和替换”,这样我就可以一次替换文件名的块。

我应该使用什么工具? 我更喜欢GUI,但命令行工具推荐也没问题。

有几个,但我推荐gprename 安装gprename 这是可用性和function之间的良好折衷。

其他工具有:重命名, krename 安装krename , pyrenamer 安装pyrenamer ,cuteRenamer,…

我真的很喜欢renameutils包中的renameutils 。 它使您可以使用您喜欢的(基于终端的)文本编辑器来重命名文件。 我更喜欢用-f do来调用它,它会为你提供一个带有文件名的单列(每个文件一行)。 结合Vim的强大function,它为您提供了进行大量文件名编辑所需的所有工具。

http://www.nongnu.org/renameutils/

变态

https://github.com/metamorphose

可能有点难以处理,但真的很强大!

如果您喜欢shell和perl正则表达式,我建议rename 。 这就像它的名字一样简单。

thunar文件管理器是一个带有批量重命名选项的GUI

http://thunar.xfce.org/pwiki/documentation/bulk_renamer

它不是Gnome的标准配置,但可以通过软件中心安装

如果你熟悉Emacs,我认为没有什么能比这个任务好。 即使你不经常使用Emacs,你也可能会发现Dired一个方便的工具。

sudo aptitude install emacs23-nox

启动目录的Emacs Dired模式:

emacs -nw path/to/dir/

现在进入编辑目录模式:

Cx Cq (即Ctrl + x后跟Ctrl + q)

您现在可以编辑文件名,例如在每个纯文本编辑器中编辑文本。 您甚至可以选择使用正则表达式替换文件名(请注意,不幸的是Emacs使用的语法与PCRE不同)。

例如,要使用counter重命名文件(从1开始):
Mx replace-regexp (即屏幕底部的迷你缓冲区中输入的Alt + x后跟字符串“replace-regexp”)。
替换正则表达式: DSCN\([0-9]+\).JPG
替换为: \,(format "P%04d.jpg" (1 + \#))

要在文件名中重用计数器:
Mx replace-regexp
替换正则表达式: DSCN\([0-9]+\).JPG
替换为: \,(format "P%04d.jpg" (string-to-number \1))

完成后,键入:

Cc Cc (即Ctrl + c后跟Ctrl + c)

或者,按以下顺序中止更改:

Cc Esc (即Ctrl + c后跟Esc)

我倾向于使用mmv ,这是基于命令行的,并且有一些有点古怪的表达式语法,但倾向于解决我的大部分问题。

如果您使用Nautilus并了解Nautilus Scripts如何工作,您可以使用nautilus-renamer 。

在命令行上还可以使用sed和shell的魔法:

 ls *.c | sed "s#\(.*\)\.c#mv \0 \1.cpp#" | sh 

Windows有一个非常好的程序,称为批量重命名实用程序。 这是URL: http : //www.bulkrenameutility.co.uk/Main_Intro.php 。

有一个可移植的unicode Windows 98版本。 我把它放在我的Linux系统(Mint Maya)上的一个文件夹中,当我通过Wine运行时,它就像一个魅力。 gui非常易于使用且非常灵活。

对我来说,pyRenamer工作得最好。 没什么(可悲的)接近Total Commanders构建它的重命名工具。 pyRenamer没有与Krusader集成,但考虑到你不使用经常使用的重命名工具这一事实,pyRenamer是一个非常好的选择。

这是我使用的工具: rnm ( 手册页 )( 更多示例 )

一些用法:

 rnm file-name -ns new-filename # single file rnm ./* -ns '/n//i/' # files will be sorted and indexed. rnm ./* -rs '/search/new/g' # 'search' in filenames will be replaced with 'new' rnm ./* -ns '/fn//i/' -ss 'search' # only files/directories which contain 'search' in their name will be indexed (renamed). rnm ./* -ns '/fn//id/' -fo # file only mode, directories will be ignored. rnm ./* -ns '/fn//id/' -fo -dp -1 # recursive to subdirectories all the way. etc... 

我个人使用Ant Renamer和Wine,因为我没有尝试过(Métamorphose,PyRenamer,GPRename,KRename)function强大,易于安装和使用。 它仍然是FOSS,所以我没有看到问题。

Krename是一个用于重命名文件的KDE GUI,通常可在大多数包管理器中找到。

此答案适用于删除可能在mp3等音乐文件中找到的前导号码。 但Krename也进行了大规模的重命名。

  1. 加载选定的文件或文件夹。 Krename加载所选文件夹中的所有文件,只需单击“ 打开”即可,无需单独选择所有文件。

  2. 转到“ Destination选项卡以覆盖或将文件复制到另一个文件夹。

  3. 转到“ Filename选项卡,然后转到“ Advanced Filename选项卡。

    “高级文件名”图像显示默认设置。

  4. 首先在Template窗口中删除令牌$ 。 更改将在下面的Renamed窗口中进行。 不显示文件名,仅显示文件扩展名。

    3.图像显示文件名已被删除,留下文件扩展名。

  5. 单击“ 插入文件名部分...”,然后选择要保留的文件名部分。 此操作将包括所有文件,并且更改将在下面的Renamed窗口中显而易见。

    4.“插入文件名的一部分...”图像,显示如何通过突出显示首选部分来选择文件名。

  6. 单击确定 。 重命名文件时没有前导数字。

    5.最终结果显示。

  7. 最后,单击右下角的“完成”。