我有多个文件,每个文件在文件夹中都有不同的扩展名。我需要将它们全部重命名为一个扩展名(.txt)。
我尝试过以下命令:
ren *.* "%fname%:~0,-3%.txt"
但是我收到以下错误:
A duplicate file name exists, or the file
cannot be found.
简而言之,我需要将杂项类型的文件夹中的所有文件转换为一种类型(.txt)
请帮忙。 在此先感谢
答案 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