Board logo

标题: [文件操作] 求一个批处理重命名文件和文件夹的代码 [打印本页]

作者: rapmq0    时间: 2025-2-25 21:58     标题: 求一个批处理重命名文件和文件夹的代码

本帖最后由 rapmq0 于 2025-2-25 22:04 编辑

需要修改的对象:当前文件夹以及子文件夹里面的所有文件夹的名字和文件的名字
需要修改的内容:删除名字中的从第到季的字符,包括第和季,删除空格,删除[和]两个符号
比如文件名是:[老友记] 第1季 S01E01.mkv
需要修改成为:老友记S01E01.mkv


现在用的一个代码,但是只能删除一段字符,不能同时删除多段,要循环很多次才行,文件是挂载的webdav,修改速度很慢,所以需要一次修改完

@echo off
for /r %%i in (*第1季*)do (
  set fn=%%~ni&echo %%i
  call ren "%%i" "%%fn:第1季=%%.*")
pause
作者: aloha20200628    时间: 2025-2-25 23:45

本帖最后由 aloha20200628 于 2025-2-25 23:51 编辑

回复 1# rapmq0
  1. @echo off &for /r %%F in ("[*] *第*季 *.*") do for /f "tokens=1-3 delims=[] " %%a in ("%%~nF") do (ren "%%F" "%%a%%c%%~xF")
  2. pause&exit/b
复制代码

作者: Batcher    时间: 2025-2-26 08:14

回复 1# rapmq0


    文件夹的名字按照什么规律修改?请举例说明
作者: rapmq0    时间: 2025-2-26 10:45

回复 2# aloha20200628


   
没有效果,不知道为什么,直接显示请按任意键继续了
作者: rapmq0    时间: 2025-2-26 10:49

回复 3# Batcher


   
比如这是当前目录的文件夹


这是文件夹里的文件
我需要删除当前文件夹和子文件夹和里面文件名中的 “第N季.”和符号“[”“]”和空格“ ”
作者: aloha20200628    时间: 2025-2-26 11:35

回复 4# rapmq0

从5楼提供的示例可见,文件名如
   老友记.第2季.Friends.s02.e11.1995.blueray.2160p.10bit.dv.hdr.hevc.ddp5.1.1.mkv
其中既无 [] 字符亦无空格字符,与1楼所述不同,因此2楼代码的假设当然就扑空了...
楼主须按真实文件名重新明确更名格式

作者: rapmq0    时间: 2025-2-26 11:40

回复 6# aloha20200628


    这个截图的是不带符号的,有些文件带符号,有些不带符号,有些是第1季,有些是第11季,有些是中文的第十一季,这样子的
作者: aloha20200628    时间: 2025-2-26 12:01

回复 7# rapmq0

更名后的格式如下
   老友记.Friends.s02.e11.1995.blueray.2160p.10bit.dv.hdr.hevc.ddp5.1.1.mkv
是这样吗?
文件夹也要更名吗?

作者: rapmq0    时间: 2025-2-26 12:04

回复 8# aloha20200628


    嗯嗯,是的就是这样,
作者: rapmq0    时间: 2025-2-26 12:09


像这种就是同时包含符号[]和空格和第N季的
作者: aloha20200628    时间: 2025-2-26 12:46

本帖最后由 aloha20200628 于 2025-2-26 14:21 编辑

回复 9# rapmq0

运行后可能须刷新一下资源管理器才可看到更名结果...
  1. @echo off &for /f "delims=" %%F in ('dir/b/s/a-d *第*季*.*') do for /f "tokens=1-2* delims=[]. " %%a in ("%%~nF") do (ren "%%F" "%%a.%%c%%~xF")
  2. for /f "delims=" %%D in ('dir/b/s/ad *第*季*.*^|sort /r') do for /f "tokens=1-2* delims=[]. " %%a in ("%%~nD") do (ren "%%D" "%%a.%%c%%~xD")
  3. pause&exit/b
复制代码

作者: rapmq0    时间: 2025-2-26 12:53

本帖最后由 rapmq0 于 2025-2-26 13:14 编辑

回复 11# aloha20200628


   
有用了,但是没有给文件夹改名,只改了里面文件的名字
作者: rapmq0    时间: 2025-2-26 14:16

解决了,谢谢大佬,辛苦啦,么么哒,爱你哟 @aloha20200628




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