标题: [文件操作] BAT脚本批量替换文件和子文件夹中的文件名的部分字符 [打印本页]
作者: coolzq1980 时间: 2021-9-16 13:03 标题: BAT脚本批量替换文件和子文件夹中的文件名的部分字符
我要做一个批处理文件,可以批量替换某文件夹下面,所有文件以及子文件夹中的所有文件的文件名的部分名字(包括文件夹名的部分名字),有大佬可以帮帮吗
作者: Batcher 时间: 2021-9-16 17:11
回复 1# coolzq1980
请举例说明实际需求
作者: coolzq1980 时间: 2021-9-16 18:57
我有2个文件夹A1,A2,(A1文件夹下面有文件A01,A02),(A2文件夹下面有文件A03,A04,A05),我要批量改名,把文件夹名称改成B1,B2,文件名改成B01,B02,B03,B04,B05,也就是把A替换成B
作者: Fit 时间: 2021-9-16 19:47
首先新建文件夹X,将A1,A2,放入X中,下面命令脚本和X在同一目录
@echo off&setlocal enabledelayedexpansion
cd X
set c=%cd%
rem 修改文件夹
for /r %%i in (.) do (
set n=%%i
set n=!n:~0,-2!
set v=!n!
set n=!n:A=B!
set x=!n:~-1,1!
set n=!n:%c%\=!
if not "!x!"=="X" ren !v! !n!
)
rem 修改文件文件
for /r . %%i in (*) do (
set m=%%~nxi
set m=!m:A=B!
ren %%i !m!)
pause
作者: qixiaobin0715 时间: 2021-9-16 21:17
本帖最后由 qixiaobin0715 于 2021-9-17 14:00 编辑
回复 3# coolzq1980 - @echo off
- setlocal enabledelayedexpansion
- for /d %%a in (A*) do (
- set str=%%a
- ren "%%a" "B!str:~1!"
- ren "B!str:~1!\A*.*" "B*.*"
- )
- pause
复制代码
作者: coolzq1980 时间: 2021-9-17 13:13
回复 5# qixiaobin0715
我试了一下,双击后好像没反应
作者: qixiaobin0715 时间: 2021-9-17 13:15
回复 6# coolzq1980
要和你举的例子一样才行。
作者: coolzq1980 时间: 2021-9-17 13:55
回复 7# qixiaobin0715
是啊,我电脑上试了一下,双击这个BAT文件之后,没反应
作者: qixiaobin0715 时间: 2021-9-17 14:01
回复 8# coolzq1980
(A*)前忘记了in了,已修改。
作者: coolzq1980 时间: 2021-9-17 14:02
回复 2# Batcher
你好,帮我看一下,我需要一个替换文件名(包含文件夹名)的批处理文件,比如文件名是AAA1,替换成BBB1
作者: coolzq1980 时间: 2021-9-17 14:03
回复 9# qixiaobin0715
可以了,谢谢啊,大神
作者: coolzq1980 时间: 2021-9-17 14:05
回复 11# coolzq1980
修改A和B的参数是修改哪里啊,亲
作者: qixiaobin0715 时间: 2021-9-17 14:09
你的需求太模糊,所以只能一例一案。
作者: Batcher 时间: 2021-9-17 14:19
回复 10# coolzq1980
涉及到字符串的操作,需要总结出完整的规律才能写出适合的代码。最好给出几个真实的名称
作者: coolzq1980 时间: 2021-9-17 14:31
回复 13# qixiaobin0715
比如,我有N个文件,N个文件夹,文件名(文件夹名)前面都是一样的,序号不一样,比如是(文件1,文件2,文件3,.......)要替换成(档案1,档案2,档案3....)
作者: Fit 时间: 2021-9-17 14:33
为什么不试试4楼的
作者: qixiaobin0715 时间: 2021-9-17 15:02
回复 15# coolzq1980
都是在泛泛的描述,你说不清楚的。在真实的文件夹中执行命令tree /f>1.txt,把1.txt中的内容发上来。
作者: coolzq1980 时间: 2021-9-17 15:21
回复 14# Batcher
比如,我有N个文件,N个文件夹,文件名(文件夹名)前面都是一样的,序号不一样,比如是(文件1,文件2,文件3,.......)要替换成(档案1,档案2,档案3....)
欢迎光临 批处理之家 (http://www.bathome.net/) |
Powered by Discuz! 7.2 |