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

[文件操作] BAT脚本批量替换文件和子文件夹中的文件名的部分字符

我要做一个批处理文件,可以批量替换某文件夹下面,所有文件以及子文件夹中的所有文件的文件名的部分名字(包括文件夹名的部分名字),有大佬可以帮帮吗

回复 1# coolzq1980


    请举例说明实际需求
我帮忙写的代码不需要付钱。如果一定要给,请在微信群或QQ群发给大家吧。
【微信公众号、微信群、QQ群】http://bbs.bathome.net/thread-3473-1-1.html
【支持批处理之家,加入VIP会员!】http://bbs.bathome.net/thread-67716-1-1.html

TOP

我有2个文件夹A1,A2,(A1文件夹下面有文件A01,A02),(A2文件夹下面有文件A03,A04,A05),我要批量改名,把文件夹名称改成B1,B2,文件名改成B01,B02,B03,B04,B05,也就是把A替换成B

TOP

首先新建文件夹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

TOP

本帖最后由 qixiaobin0715 于 2021-9-17 14:00 编辑

回复 3# coolzq1980
  1. @echo off
  2. setlocal enabledelayedexpansion
  3. for /d %%a in (A*) do (
  4. set str=%%a
  5. ren "%%a" "B!str:~1!"
  6. ren "B!str:~1!\A*.*" "B*.*"
  7. )
  8. pause
复制代码

TOP

回复 5# qixiaobin0715
我试了一下,双击后好像没反应

TOP

回复 6# coolzq1980
要和你举的例子一样才行。

TOP

回复 7# qixiaobin0715
是啊,我电脑上试了一下,双击这个BAT文件之后,没反应

TOP

回复 8# coolzq1980
(A*)前忘记了in了,已修改。

TOP

回复 2# Batcher

你好,帮我看一下,我需要一个替换文件名(包含文件夹名)的批处理文件,比如文件名是AAA1,替换成BBB1

TOP

回复 9# qixiaobin0715


可以了,谢谢啊,大神

TOP

回复 11# coolzq1980
修改A和B的参数是修改哪里啊,亲

TOP

你的需求太模糊,所以只能一例一案。

TOP

回复 10# coolzq1980


    涉及到字符串的操作,需要总结出完整的规律才能写出适合的代码。最好给出几个真实的名称
我帮忙写的代码不需要付钱。如果一定要给,请在微信群或QQ群发给大家吧。
【微信公众号、微信群、QQ群】http://bbs.bathome.net/thread-3473-1-1.html
【支持批处理之家,加入VIP会员!】http://bbs.bathome.net/thread-67716-1-1.html

TOP

回复 13# qixiaobin0715
比如,我有N个文件,N个文件夹,文件名(文件夹名)前面都是一样的,序号不一样,比如是(文件1,文件2,文件3,.......)要替换成(档案1,档案2,档案3....)

TOP

返回列表