文档详情

删除重复文件批处理代码.doc

发布:2018-09-30约2.79千字共3页下载文档
文本预览下载声明
@echo offsetlocal ENABLEDELAYEDEXPANSION title 清理相同的文件-code by rs369007/2014/6/20 :start set /p act_path=输入目录= if not exist !act_path! (echo 输入目录不存在,请重新输入ping -w 1000 -n 2 127.1nul 2nulclsgoto start) set /a var=!time:~6,-3! 2nul set /a total=0 2nul set /a del_num=0 2nul set sort=C:\WINDOWS\system32\sort.exe for /f delims=\ %%j in (!act_path!) do set backup_folder=%%j\rs-backup_folder\!var!md !backup_folder! 2nul set tmp=c:\tmprd !tmp!nul 2nul if not exist !tmp! (md !tmp!nul 2nul) else (del /f /s /q !tmp!nul 2nul) set rec_file=!backup_folder!\清理记录.txt set /a hour=!time:~0,-9! 2nul set /a minute=!time:~3,-6! 2nul set /a second=!time:~6,-3! 2nul echo.echo 程序正在对文件进行分类,请耐心等待... ::分类获取文件列表 pushd !act_path! for /R %%i in (*) do ( set extension=%%~xiset extension=!extension:~-3! echo %%~zi;%%~dpnxi;%%~xi;%%~ti;%%~ni!tmp!\!extension!%%~zi.txt 2nul ) ::分类获取完成 pushd !tmp! ::开始比较,记录重复文件,记录复件,而不记录原件 clsecho.echo 开始筛选相同文件...ping -w 1000 -n 2 127.1nul 2nul echo !date!!time!!rec_file! 2nul for /R %%i in (*) do ( set filename=%%~nxi set /a st_count=0 for /f tokens=1-5 delims=; %%j in (!filename!) do ( set /a st_count+=1 if !st_count! NEQ !del_num! ( set filesize=%%j set filetime=%%m set in_filename=%%n set fullpath=%%k set /a nd_count=0 echo %%k 2nul for /f tokens=1-5 delims=; %%j in (!filename!) do ( set /a nd_count+=1 if !nd_count! GTR !st_count! ( if !filesize!==%%j ( if !filetime!==%%m ( echo !in_filename!tmp 2nul (findstr /C:%%n tmpnul 2nul(echo !fullpath!;!filesize!!rec_file! 2nul))||(echo %%k;%%j!rec_file! 2nul) set /a del_num=!nd_count! ) ) ) ) ) ) ) pushd !backup_folder! clsecho.echo 开始删除相同文件:ping -w 1000 -n 2 127.1nul 2nul if exist 清理记录.txt ( for /f skip=1 tokens=1-2 delims=; %%j in (清理记录.txt) do ( copy %%j !backup_folder!nul 2nul del /f /s /q %%j set /a total+=%%k ) ) else ( echo 没有发现相同的文件。) echo.echo (存放在!rec_file!) 2nulecho. set /a total=!total!/1024 set /a total=!total!/1024 echo
显示全部
相似文档