找回密码
 注册
搜索
[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
查看: 16133|回复: 1

[文件操作] [分享]批处理对文件名包含指定字符的文件进行重命名

[复制链接]
发表于 2021-12-31 16:44:26 | 显示全部楼层 |阅读模式
【问题描述】

一个文件夹中几十上百个文本文档,它们的文档名称大多是,举例如下,
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
 楼主| 发表于 2021-12-31 16:44:50 | 显示全部楼层
【解决方案】
  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. )
复制代码
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|小黑屋|批处理之家 ( 渝ICP备10000708号 )

GMT+8, 2026-3-20 13:52 , Processed in 0.025452 second(s), 8 queries , File On.

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

快速回复 返回顶部 返回列表