
一個(gè)拷貝文件計(jì)算拷貝時(shí)間和大小的BAT腳本
nclick="copycode($('code0'));">復(fù)制代碼
- echo.&echo ===== %folder% Recovery Desktop =====
- set time_begin=%time:~0,-3%
- echo d | xcopy /s /y %folder%%username%desktop %userprofile%desktop >nul
- set time_end=%time:~0,-3%
- call :_difftime %time_begin% %time_end%
- Set SDir=%folder%%username%desktop
- Set TDir=%userprofile%desktop
- Call :info %SDir% %TDir%
- echo Source:%SDirs% Floders,%SFiles% Files,%Ssize% Bytes.
- echo Target:%TDirs% Floders,%TFiles% Files,%Tsize% Bytes.
- echo Recovery Completed. Use Time: %hour_% Hr %munite_% Min %second_% Sec
- pause
- goto :BackupTools
- :_difftime <time_begin> <time_end>
- for /f tokens=1,2,3 delims=: %%i in (%time_begin%) do (
- set /a hour_b=%%i
- set /a munite_b=%%j
- set /a second_b=%%k
- )
- for /f tokens=1,2,3 delims=: %%i in (%time_end%) do (
- set /a hour_a=%%i
- set /a munite_a=%%j
- set /a second_a=%%k
- )
- if %second_a% lss %second_b% (
- set /a munite_a=%munite_a%-1
- set /a second_a=%second_a%+60
- )
- set /a second_=%second_a%-%second_b%
- if %munite_a% lss %munite_b% (
- set /a hour_a=%hour_a%-1
- set /a munite_a=%munite_a%+60
- )
- set /a munite_=%munite_a%-%munite_b%
- if %hour_a% lss %hour_b% (
- set /a hour_a=%hour_a%+24
- )
- set /a hour_=%hour_a%-%hour_b%
- Goto :eof
- :info <SDir> <TDir>
- set /a Ssize=0
- set /a Tsize=0
- :僅統(tǒng)計(jì)文件數(shù)量
- for /f tokens=1* delims= %%a in ('dir/a-d/s /b %Sdir%^|find /v /c ') do set SFiles=%%~a
- :統(tǒng)計(jì)文件夾
- for /f tokens=1* delims= %%a in ('dir/ad /b /s %Sdir%^|find /v /c ') do set SDirs=%%~a
- :文件容量大小
- for /f tokens=3* delims= %%a in ('dir/a-d/s %Sdir%^|findstr /c:File(s)') do set Ssize=%%~a
- for /f tokens=1* delims= %%a in ('dir/a-d/s /b %Tdir%^|find /v /c ') do set TFiles=%%~a
- for /f tokens=1* delims= %%a in ('dir/ad /b /s %Tdir%^|find /v /c ') do set TDirs=%%~a
- for /f tokens=3* delims= %%a in ('dir/a-d/s %Tdir%^|findstr /c:File(s)') do set Tsize=%%~a
- Goto :eof

