0

我有一个包含大量文件的文件夹,我需要重命名它们。我正在使用批量/批量重命名实用程序:http ://www.bulkrenameutility.co.uk/Download.php

它允许 RegEx 模式匹配和替换。

这是几个示例文件名:

  • ...
  • 04-067 - 我需要的文件名称(1943) (Aplha, Xtra, Info) [ExtraA] (15m34s) .avi
  • 04-068 - 我需要的文件名称(1943) (Aplha, Xtra, Info) [ExtraA] (15m34s) .avi
  • 04-069 - 我需要的文件名称(1943) (Aplha, Xtra, Info) [ExtraA] (15m34s) .avi
  • 04-070 - 我需要的文件名称(1943) (Aplha, Xtra, Info) [ExtraA] (15m34s) .avi
  • 04-071 - 我需要的文件名(1943) (Aplha, Xtra, Info) [ExtraA] (15m34s) .avi
  • 04-072 - 我需要的文件名称(1943) (Aplha, Xtra, Info) [ExtraA] (15m34s) .avi
  • 04-073 - 我需要的文件名(1943) (Aplha, Xtra, Info) [ExtraA] (15m34s) .avi
  • ...

我需要删除该(19*部分并保留该部分,.avi以便新名称如下:

  • ...
  • 04-067 - 我需要的文件名.avi
  • 04-068 - 我需要的文件名.avi
  • 04-069 - 我需要的文件名.avi
  • 04-070 - 我需要的文件名.avi
  • 04-071 - 我需要的文件名.avi
  • 04-072 - 我需要的文件名.avi
  • 04-073 - 我需要的文件名.avi
  • ...

文件名有时也包含 (abc) 但(19*始终存在:

04-067 - 我需要的文件名(彩色)(3D)(1943) (Aplha, Xtra, Info) [ExtraA] (15m34s).avi

这样的正则表达式有什么快速帮助吗?

更新:这是一张图片(http://img542.imageshack.us/img542/6275/bulkrenameutility.png):截屏

问候。

4

3 回答 3

3

替换\s*\(19.*\.avi.avi

于 2011-06-14T13:43:13.080 回答
1

我不知道你所指的工具,但这个正则表达式应该可以工作

/ (.*)/

第一个括号前有一个空格,然后用空字符串替换。也许“(”需要在您的工具中转义。

使用 sed 测试:

$ echo '04-067 - Name of File I need (1943) (Aplha, Xtra, Info) [ExtraA] (15m34s).avi' | sed 's/ (.*)//'
04-067 - Name of File I need.avi
于 2011-06-14T13:49:28.587 回答
0

此正则表达式应匹配括号之间包含年份的所有文件名/(\s*19.*\.avi$/i。然后,将匹配的字符串替换为.avi.

于 2011-06-14T13:44:41.943 回答