将异构文件扩展名批量重命名为一个扩展名
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 命令仅 ECHO
ed 用于测试目的。 确认命令正确后,将ECHO(REN
更改为REN
以实际重命名文件。
如果您的重命名方案有效,似乎要删除名称的最后 3 个字符,则添加 .txt
这仍然会产生重复的文件名:
core.13848ab -> core.1384.txt
core.13848ac -> core.1384.txt
如果没有明确说明您的目标方案,上面的代码将从名称中删除任何 .
并添加 .txt
我有多个文件,每个文件在一个文件夹中都有不同的扩展名。我需要将它们全部重命名为一个扩展名 (.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 命令仅 ECHO
ed 用于测试目的。 确认命令正确后,将ECHO(REN
更改为REN
以实际重命名文件。
如果您的重命名方案有效,似乎要删除名称的最后 3 个字符,则添加 .txt
这仍然会产生重复的文件名:
core.13848ab -> core.1384.txt
core.13848ac -> core.1384.txt
如果没有明确说明您的目标方案,上面的代码将从名称中删除任何 .
并添加 .txt