批处理,对文件和文件夹名进行字符替换问题

来源:百度知道 编辑:UC知道 时间:2024/05/21 13:55:01
批处理命令,如何把文件夹(包含所有子目录)中所有名字中含有“XYZ”关键字的文件或文件夹,都将它的“XYZ”替换成“123”?

hackate的不能改文件夹名,可能是他怕文件夹名一改,子文件夹或者文件会找不到路径.

@echo off
setlocal enabledelayedexpansion
dir /b /s G:\abc|sort /r /o names.tmp
for /f "delims=" %%i in ('type names.tmp') do (
set "n=%%~ni"
set "n=!n:xyz=123!"
ren "%%i" "!n!%%~xi"
)
pause

@echo off
setlocal enabledelayedexpansion
set "mulu=g:\abc"
for /f "delims=" %%a in ('dir /b/a-d/s "%mulu%"') do (
set "wjm=%%~nxa"
set "wjm=!wjm:xyz=123!"
ren "%%a" "!wjm!"
)
pause