备份,文件大小大于n则记录文件大小,否则记录md5,不考虑大文件大小相同。- @echo off
- set /a n=10*1024*1204
- (for /r %%i in (*) do (
- if "%%i" neq "%~f0" (
- if %%~zi gtr %n% (
- echo %%~zi^|%%~nxi
- ) else (
- for /f "delims=" %%a in ('certutil -hashfile "%%i" MD5 ^| find /v ":"') do echo %%a^|%%~nxi
- )
- )
- ))>back.txt
- pause
复制代码
恢复
- @echo off
- set /a n=10*1024*1204
- for /r %%i in (*) do (
- if "%%i" neq "%~f0" if "%%i" neq "%~dp0back.txt" (ren "%%i" "%%~nxi.$")
- )
- for /r %%i in (*.$) do (
- if %%~zi gtr %n% (
- for /f "tokens=1* delims=|" %%f in ('find "%%~zi|" ^<back.txt') do ren "%%i" "%%g"
- ) else (
- for /f "delims=" %%a in ('certutil -hashfile "%%i" MD5 ^| find /v ":"') do (
- for /f "tokens=1* delims=|" %%f in ('find "%%a|" ^<back.txt') do ren "%%i" "%%g"
- )
- )
- )
- pause
复制代码
|