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

Batch-Rename heterogeneous file extensions to one extension

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

我已尝试使用以下命令:

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

但是我收到以下错误:

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

总之我需要将一个文件夹中的各种类型的文件全部转换为一种类型(.txt)

请帮忙。 提前致谢

@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 命令仅 ECHOed 用于测试目的。 确认命令正确后,将ECHO(REN更改为REN以实际重命名文件。

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

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

core.13848ab -> core.1384.txt

core.13848ac -> core.1384.txt

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