借鉴了一部分代码,测试这两个命令删除文件的速度。- @echo off
-
- setlocal
- set /p num=测试用文件数:
- echo 正在创建测试用的文件
- set start=%time%
- md a b
-
- for /l %%l in (1,1,%num%) do (
-
- cd.>a\%%l.x
-
- cd.>b\%%l.x
-
- )
-
- call :timer
- echo 正在用del /s/q/f命令删除文件
- set start=%time%
- del /s /q /f a\*.x 1>nul 2>nul
-
- call :timer
- echo 正在用rd /s/q命令删除文件
- set start=%time%
- rd /s /q b
-
- call :timer
- pause
- rd a >nul
-
- :timer
- set end=%time%
- set options="tokens=1-4 delims=:.,"
- for /f %options% %%a in ("%start%") do set start_h=%%a&set /a start_m=100%%b %% 100&set /a
-
- start_s=100%%c %% 100&set /a start_ms=100%%d %% 100
- for /f %options% %%a in ("%end%") do set end_h=%%a&set /a end_m=100%%b %% 100&set /a
-
- end_s=100%%c %% 100&set /a end_ms=100%%d %% 100
- set /a hours=%end_h%-%start_h%
- set /a mins=%end_m%-%start_m%
- set /a secs=%end_s%-%start_s%
- set /a ms=%end_ms%-%start_ms%
- if %ms% lss 0 set /a secs = %secs% - 1 & set /a ms = 100%ms%
- if %secs% lss 0 set /a mins = %mins% - 1 & set /a secs = 60%secs%
- if %mins% lss 0 set /a hours = %hours% - 1 & set /a mins = 60%mins%
- if %hours% lss 0 set /a hours = 24%hours%
- if 1%ms% lss 100 set ms=0%ms%
- set /a totalsecs = %hours%*3600 + %mins%*60 + %secs%
- echo 耗时:%hours%:%mins%:%secs%.%ms% (%totalsecs%.%ms%秒)
复制代码
|