列出整个文件路径的.bat文件中的批处理文件名

时间:2014-10-04 16:39:03

标签: windows batch-file rename

我看到关于这个主题的多篇帖子我正在问一个问题,并尝试应用不同的解决方案,但无法使其发挥作用。我有一组文件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个字符,但是我不需要计算字符数。只需简单重命名我上面描述过。

1 个答案:

答案 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"