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

Cha*_*les 11 windows html powershell php batch-rename

我们想将我们的*.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
Run Code Online (Sandbox Code Playgroud)

soa*_*dos 14

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

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