如何使用一个命令重命名多个文件夹中的多个文件

如何使用一个命令重命名多个文件夹中的多个文件

我们想要重命名我们的*.html文件,*.php但(遗憾的是)我们没有足够的知识来使用 cmd 提示命令和/或批处理文件来执行此操作。

问题是每个文件都在单独的文件夹中——我说的是 750 多个不同的文件夹名称。我知道对文件使用通配符是可行的,* 但我不知道对文件夹也使用通配符。我们可能需要使用命令FOR(在命令提示符中),但我被卡住了。

我们使用的文件夹结构是:

父文件夹/子文件夹/孙文件夹/文件.html

例如:

  • games/A/game_name/file.html
  • games/B/game_name/file.html
  • games/C/game_name/file.html等等。

所有文件的父文件夹都是相同的;但大多数文件的子文件夹和孙文件夹是不同的。

将这些文件重命名为后,*.php我假设以下内容.htaccess将进行永久重定向。

RedirectMatch 301 (.*)\.html$ http://oursite.com$1.php

答案1

get-childItem -recurse | Where {$_.extension -eq ".html"} | rename-item -newname { $_.name -replace ".html",".php" }

这可以在 PowerShell 中工作。如果你使用的是 Windows 7 或 Vista,则应该默认安装它。如果你使用的是 XP,你可以下载它这里

答案2

在命令行中:

for /f "delims=*" %a in ('dir *.html /b /s') do ren "%a" *.php

注意:您可以替换*.html为其他通配符,例如d:\www\*.html

注意 2:如果在批处理文件中使用该命令,请替换%a%%a(不要问我为什么)

答案3

Flexible Renamer 是一款出色的小程序,可以处理多种不同类型的重命名搜索/替换。它接受正则表达式,并预定义了常用模式。此外,它还允许您在子文件夹中包含项目,或对文件夹本身进行操作。它还为您提供将进行的所有更改的预览。我已经使用它多年了,强烈推荐它。

http://download.cnet.com/Flexible-Renamer/3000-2248_4-28799.html

答案4

总指挥官:搜索 - 发送到面板 - 多重重命名工具

相关内容