如何重命名子目录中的文件?

49

有没有批量重命名子目录中的文件的方法?

例如:

将具有目录和子目录的文件夹中的*.html重命名为*.htm


你所谓的“batch”,是指“一次处理多个任务”还是一种以.bat/.cmd/.sh为扩展名的方式?前者不是一个编程问题,在Windows上有很多免费工具可以实现。后者需要更精确的定义,至少需要知道你要在哪个操作系统上运行。 - PhiLho
11个回答

0
在Unix系统下,您可以使用rnm命令:

rnm -rs '/\.html$/.htm/' -fo -dp -1 *

或者

rnm -ns '/n/.htm' -ss '\.html$' -fo -dp -1 *

说明:

  1. -ns: 名称字符串(新名称)。/n/ 是一个名称字符串规则,它扩展为没有扩展名的文件名。
  2. -ss: 搜索字符串 (正则表达式)。搜索具有匹配项的文件。
  3. -rs: 替换字符串的形式为 /search_regex/replace_part/modifier
  4. -fo: 仅文件模式
  5. -dp: 目录深度 (-1 表示无限制)。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接