.bat 脚本
@echo off Rem **********定义两个变量源目录、备份目录 set "d1=d:\a" set "d2=d:\b" :: 如有多种类型可如下行所示用空格分隔加在后面 set ex=*.docx *.txt cd/d "%d1%" for /f "delims=" %%i in ('dir/b/s/a-d %ex%') do ( set "pa=%%~dpi" setlocal enabledelayedexpansion set "pa=!pa:%d1%=%d2%!" md "!pa!" 2>nul move "%%i" "!pa!" echo %%i ==^> !pa! endlocal) pause
还有就是分类接种备份
@echo off Rem 这个批处理只能将文件归类放入到一个文件里,但不能按照源路径创建文件目录原因是路径的拆分字符串的拆分 rem 定义变量 rem 盘符、文件后缀、源主目录、备份目录、 set PF=D: set HZ=pptx set YML=a set BFML=b rem 代码****************** %PF% cd \%YML% rem 判断下是否有创建备份文件如果没有自动创建 if not exist %PF%\%BFML%\ md %PF%\%BFML%\ set NEWDIR=%PF%\%BFML%\back\%HZ%\ for /R "%PF%\%YML%\" %%s in (*.%HZ%) do ( if not exist %NEWDIR% md %NEWDIR% move %%s %NEWDIR% ) echo %PF%\%YML%\*.%HZ% 文件全部备份到 %NEWDIR% 目录 pause