我们想要重命名我们的*.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
总指挥官:搜索 - 发送到面板 - 多重重命名工具