重命名多个文件

用户名

我有将近2000个文件,需要重命名。

这些文件以以下格式命名:PART1#PART2#PART3.pdf

我想批量重命名文件,以便将PART2移到PART1之前,例如PART2#PART1#PART3.pdf

PART 1 = A random document reference e.g. 124244
PART 2 = A reference number e.g. 12-12434-A
PART 3 = A short description e.g. Part 1

#符号将这些部分分开。

有没有可以用来进行此更改的简单实用程序?

MC ND

使用批处理文件

@echo off
    setlocal enableextensions disabledelayedexpansion

    cd /d "c:\where\thefiles\are"

    for /f "tokens=1,2,* delims=#" %%a in ('
        dir /b /a-d *.pdf ^| findstr /r /b /e /i /c:"[^#][^#-]*#[^#][^#]*#..*\.pdf"
    ') do echo ren "%%a#%%b#%%c" "%%b#%%a#%%c"

该代码的作用是

  1. 获取文件列表:一个dir命令以.pdf无文件夹的裸格式请求文件

  2. 进行筛选以仅获取关联的文件:findstr命令,搜索与行的开头和结尾匹配的正则表达式,而忽略大小写。针对文件名测试的表达式是:非#字符,后跟一个非字符#-字符序列(以避免两次重命名文件),后跟一个#,然后是一个##字符序列和一个非字符序列,然后是a#以及任何以结尾的字符序列.pdf

  3. for命令使用#as标记定界符分割名称,并为每个名称重命名。

重命名操作仅回显到控制台。如果输出正确,请删除echo命令

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章