用于反转文件名中日期顺序的批处理脚本

时间:2017-09-08 16:57:58

标签: batch-file rename batch-rename

我想使用批处理脚本重命名一堆使用以下名称方案的文件:

File 2-9.pdf
File 3-9.pdf
File 4-9.pdf
[...]

我想反转这些数字,以便它们成为......

File 9-2.pdf
File 9-3.pdf
File 9-4.pdf
[...]

通常我会搜索重复的字符串并替换它,但在这种情况下,字符串随每个文件而变化,所以我不知道如何去做。有什么想法吗?

感谢您的阅读。

编辑:我在Windows上,我正在寻找创建一个.bat文件。像

这样的东西
For %%# in ("file-path") Do (
    Set "File=%%~nx#"
    Ren "%%#" "!File:%Pattern%=%Replace%!"
)

1 个答案:

答案 0 :(得分:2)

相对容易。不要使用"搜索和替换",但使用适当的令牌和分隔符来拆分文件名:

@echo off 
for %%f in (*.pdf) do (
  for /f "tokens=1,2,3 delims=- " %%a in ("%%~nf") do (
    ECHO ren "%%~f" "%%a %%c-%%b%%~xf"
  )
)

(注意:在排除故障后删除ECHO以启用重命名命令)