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

[文件操作] [已解决]批量重命名的批处理如何替换扩展名中的指定字符或汉字

[复制链接]
发表于 2023-6-22 15:33:22 | 显示全部楼层 |阅读模式
示例:
比如,我有下列的文件夹及文件,我想对,当前目录下,所有子目录中的压缩文件重命名


E:\TEST\abc.ra删r
E:\TEST\def.r删ar
E:\TEST\001\DAS.7z.001删
E:\TEST\001\DAS.7z.002删
E:\TEST\002\als.删zip
E:\TEST\002\lks.删rar删

就是我一次性,想把这种文件名中的删字去除掉,相当于替换了空值,应该怎么写?
还有这种带.001 .002 的后面有汉字的,不知道怎么处理。

最后,在批处理中,能自已定义这个替换的变量,方便,以后,如果有其它汉字或字符的时候,好修改.

感谢!

评分

参与人数 1PB +2 收起 理由
Batcher + 2 感谢给帖子标题标注[已解决]字样

查看全部评分

发表于 2023-6-22 16:10:52 | 显示全部楼层
  1. @echo off
  2. set /p ex=input:
  3. setlocal enabledelayedexpansion
  4. for /r %%i in (*%ex%*) do (
  5.     set "x=%%~xi"
  6.     ren "%%i" "%%~ni!x:%ex%=!"
  7. )
复制代码

评分

参与人数 1技术 +1 收起 理由
thp2008 + 1 感谢帮助,符合要求!

查看全部评分

 楼主| 发表于 2023-6-22 16:33:39 | 显示全部楼层
挺好,我测试了一下,大部分都成功了。
但是像这种就失败了。

set "x=.002删"
ren "E:\KuaKe\影视\A区 \A区.7z.002删" "A区.7z!x:删=!"
)
系统找不到指定的文件。

就是 影视\A区 \ 后面有半个空格一样的东西,我试了目录有空格是可以的,这肯定不是空格,应该是某种特殊占位符。删除或都用空格代替,都是可以成功,那肯定不是空格。

算了,这种特殊的就手工处理一下吧。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-3-18 17:20 , Processed in 0.010334 second(s), 9 queries , File On.

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

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