求批处理 重命名文件

来源:百度知道 编辑:UC知道 时间:2024/05/12 12:07:50
我有很多文件 在不同文件夹 后缀也不同
如:
steam_0.dll
steam.dll
map_0.bsp
map.bsp
现在我想把"_0"和另一个同名的文件互换名字

PS:要改的文件都有"_0."
单单找"_0"就替换会把不需要的也换掉的

----------
@echo off
setlocal enabledelayedexpansion
for /f "delims=" %%a in ('dir/a/b/s *_0.*') do (
set "ab=%%~na" & set "ac=!ab:_0=!"
if exist "%%~dpa!ac!%%~xa" (
ren "%%a" "!ac!%%~xa.6066" >nul 2>nul
ren "%%~dpa!ac!%%~xa" "%%~nxa" >nul 2>nul
))
for /f "delims=" %%a in ('dir/a/b/s *.6066') do ren "%%a" "%%~na"
echo 处理完成,按任意键退出...
pause>nul & exit
----------

注:
处理当前批处理所在目录,也处理包括子目录.
搜索含有_0的文件,然后在同目录找到不含_0的类似文件,互换改名.
如果在同目录下没找到对应的不含_0的类似文件,则不作处理.
应该是你说的意思吧~!

@echo off&setlocal enabledelayedexpansion
for /f "delims=" %%i in ('dir /b/s *.*')do (set n=%%~ni
set nn=!n:~0,-2!
ren "%%i" !nn!%%~xi
)

推荐软件 “文件批量改名之星”
下载链接
批处理重命名文件 怎么使用批处理重命名文件,并编号 文件重命名的dos批处理实现 如何按文件的时间批处理重命名文件 怎么用dos批处理完成文件的批量重命名 电脑高手们请问如何用DOS批处理重命名文件 求ASP重命名文件代码 特定批处理重命名 求移动文件的 批处理 文件重命名