[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖

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

示例:
比如,我有下列的文件夹及文件,我想对,当前目录下,所有子目录中的压缩文件重命名


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 的后面有汉字的,不知道怎么处理。

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

感谢!
1

评分人数

    • Batcher: 感谢给帖子标题标注[已解决]字样PB + 2

挺好,我测试了一下,大部分都成功了。
但是像这种就失败了。

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

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

算了,这种特殊的就手工处理一下吧。

TOP

  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

评分人数

    • thp2008: 感谢帮助,符合要求!技术 + 1

TOP

返回列表