我看到关于这个主题的多篇帖子我正在问一个问题,并尝试应用不同的解决方案,但无法使其发挥作用。我有一组文件xx_date.ext1
,我需要批量更改为xx_date_suf.ext2
。但我确实需要列出文件所在的完整目录路径。尝试做dos .bat文件。
我尝试将此解决方案应用于我在其中一个帖子中发现的一些小改动:
setlocal ENABLEDELAYEDEXPANSION
for %%i in (<Directory name here>\*) do (
set filename=%%~ni
ren "%%~i" "!filename:~0,5!%%~xi"
)
endlocal
无济于事。我知道上面的解决方案在文件名中更改了5个字符,但是我不需要计算字符数。只需简单重命名我上面描述过。
答案 0 :(得分:0)
这适用于您提供的口头解释:
@echo off
cd /d "c:\folder"
for %%a in (*.ext1) do ren "%%a" "%%~na_suf.ext2"
或者这个:
@echo off
for %%a in ("c:\folder\*.ext1") do ren "%%a" "%%~na_suf.ext2"