Board logo

标题: [文件操作] [分享]批处理对文件名包含指定字符的文件进行重命名 [打印本页]

作者: Batcher    时间: 2021-12-31 16:44     标题: [分享]批处理对文件名包含指定字符的文件进行重命名

【问题描述】

一个文件夹中几十上百个文本文档,它们的文档名称大多是,举例如下,
2017000000-z空001.tpp
201600679999_f厚0003.tpp
200065678884332.a00白090.tpp
10976号码53335567777.-b78007.tpp
123345666685696枫林1_25004.tpp
23158866842695566_a006.tpp
,,,,,,,
这些文档名称绝大部分都会含有z,f,a,b四个字母中的一个,文档名中任何地方也有可能有中文汉字和标点符号.-_等等,我想弄一个bat批处理工具,只要双击运行一下这个工具,那么这个文件夹中的所有含有字母f和字母b的文档名称就会发生改变,自动在文档名称的第6个字符后面添加上中文3字-先下载

举例如下,
双击批处理后,文件夹中所有包含f和b字母的tpp文档名称都自动在全名第6个字符后面添加先下载三个汉字。
其它文档名称保持不变,包含z和a的文档名称也保持不变,

下面是自动添加改变后的名称
201600先下载679999_f厚0003.tpp
10976号先下载码53335567777.-b78007.tpp
作者: Batcher    时间: 2021-12-31 16:44

【解决方案】
  1. @echo off
  2. setlocal enabledelayedexpansion
  3. cd /d "%~dp0"
  4. for /f "delims=" %%i in ('dir /b /a-d *.tpp') do (
  5.     set "OldName=%%~ni"
  6.     set "NewName=!OldName:f=!"
  7.     set "NewName=!NewName:b=!"
  8.     if "!NewName!" neq "!OldName!" (
  9.         ren "%%i" "!OldName:~0,6!先下载!OldName:~6!%%~xi"
  10.     )
  11. )
复制代码





欢迎光临 批处理之家 (http://www.bathome.net/) Powered by Discuz! 7.2