我想批处理给子目录改名怎么改

来源:百度知道 编辑:UC知道 时间:2024/06/24 05:15:03
我在d盘下有个czpd\kczy\xia\的目录,里面有1,2,3等等子目录。在1,2,3等子目录里还有rj-kebiao,bsd-kebiao,hsd-kebiao等子目录。我想把所有的rj-kebiao,bsd-kebiao,hsd-kebiao都改名为rj-kebiao改为人教bsd-kebiao改为北师大hsd-kebiao改为华师大。怎么设这个批处理呀?
请你给我QQ或者别的,即时的教我行不?刚才忘了没说明白目录结构是这样的
D:\czpd\kczy\xia\wl\2\08\bsd-kebiao
D:\czpd\kczy\xia\wl\2\10\rj-kebiao
...
D:\czpd\kczy\xia\yiny\1\07\rj-kebiao
D:\czpd\kczy\xia\yiny\1\07\ry-kebiao
...
D:\czpd\kczy\xia\zz\1\08\rj-kebiao
我要改的就是后面的哪个rj-kebiao
二位的我都做成批处理运行都不行,麻烦二位能给我QQ什么的,让我联系上你们请救。

@echo off
for /f %%a in ('dir /b /ad') do (
for /f "tokens=1,2 delims=-" %%i in ('dir /b %%a') do (
if %%i==rj ren %%a\%%i-%%j 人教
if %%i==bsd ren %%a\%%i-%%j 北师大
if %%i==hsd ren %%a\%%i-%%j 华师大
REM 如果还有其他的请在下面添加
)
)
echo 转换完成,按任意键退出!&pause >nul 2>nul

@echo off
color a
setlocal enabledelayedexpansion
set num=0
set sz=0
for /f %%i in ('dir /s /ad /b d:\czpd') do call :loop %%i
:loop
set m=%1
if not defined m goto end
set b%num%=%m%
set a%num%=%~n1
set /a num+=1
goto :eof
:end
set /a num=%num%-1
for /l %%j in (%num%,-1,0) do (
if "!a%%j!"=="rj-kebiao" ren !b%%j! 人教
if "!a%%j!"=="bsd-kebiao" ren !b%%j! 北师大
if "!a%%j!"=="hsd-kebiao" ren !b%%j! 华师大
)
echo 程序运行结束,按任意键退出...
pause>nul
exit