如何递归重命名文件扩展名

时间:2014-06-08 23:28:58

标签: windows batch-file rename

我有很多* .lub.lua文件,我希望它们只有.lua扩展名。我已经使用了for /r %%x in (*.lub.lua) do if exist "%%x" ren "%%x" *.lua,但它并没有将.lub部分带走。我该怎么办?

2 个答案:

答案 0 :(得分:1)

@echo off
setlocal EnableDelayedExpansion

for /R %%x in (*.lub.lua) do (
   set name=%%~Nx
   ECHO ren "%%x" "!name:.lub=.lua!"
)

此程序只是显示 ren命令;如果它们是正确的,请删除ECHO部分以执行它们。

答案 1 :(得分:1)

@echo off
for /r %%a in (*.lub.lua) do for %%b in ("%%~na") do echo(ren "%%a" "%%~nb.lua"

为了测试目的,所需的REN命令仅为ECHO在您确认命令正确后,将ECHO(REN更改为REN以实际重命名文件。