批量重命名异构文件扩展名到一个扩展名

时间:2015-11-16 08:11:42

标签: windows cmd batch-processing

我有多个文件,每个文件在文件夹中都有不同的扩展名。我需要将它们全部重命名为一个扩展名(.txt)。

enter image description here

我尝试过以下命令:

ren *.* "%fname%:~0,-3%.txt"

但是我收到以下错误:

A duplicate file name exists, or the file
cannot be found.

简而言之,我需要将杂项类型的文件夹中的所有文件转换为一种类型(.txt)

请帮忙。 在此先感谢

1 个答案:

答案 0 :(得分:0)

@ECHO OFF
SETLOCAL ENABLEDELAYEDEXPANSION 
SET "sourcedir=U:\sourcedir"
FOR /f "delims=" %%a IN ('dir /b /a-d "%sourcedir%\*.*" ' ) DO (
 SET "filename=%%a"
 SET "filename=!filename:.=!.txt"
 ECHO(REN "%sourcedir%\%%a" "!filename!"
)

GOTO :EOF

您需要更改sourcedir的设置以适合您的具体情况。

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

如果您的重命名方案有效,似乎要删除该名称的最后3个字符,请添加.txt

这仍然会产生重复的文件名:

  

core.13848ab - > core.1384.txt

     

core.13848ac - > core.1384.txt

如果没有明确解释您的目标,上述代码将从名称中删除任何.并添加.txt