| @echo off&setlocal enabledelayedexpansion |
| set /p "var=请输入字符串:" |
| echo ======================== |
| echo [法一] |
| set time1=%time% |
| set /a time1_second=1%time1:~-5,2%-100 |
| set /a time1_millisec=1%time1:~-2,2%-100 |
| |
| :loop |
| set /a a+=1 |
| if not "!var:~%a%,1!" equ "" goto :loop |
| echo 共有%a%个字符 |
| |
| set time2=%time% |
| set /a time2_second=1%time2:~-5,2%-100 |
| set /a time2_millisec=1%time2:~-2,2%-100 |
| if %time2_millisec% lss %time1_millisec% set /a time2_millisec+=100&set /a time2_second-=1 |
| set /a second=time2_second-time1_second |
| set /a millisec=time2_millisec-time1_millisec |
| echo 开始时间:%time1% 结束时间:%time2% |
| echo 程序1运行时间为%second%秒%millisec%0毫秒 |
| echo ======================== |
| echo [法二] |
| set time1=%time% |
| set /a time1_second=1%time1:~-5,2%-100 |
| set /a time1_millisec=1%time1:~-2,2%-100 |
| |
| for /l %%a in (0,1,10000) do if "!var:~%%a,1!" equ "" set length=%%a&goto end |
| :end |
| echo 共有%length%个字符 |
| |
| set time2=%time% |
| set /a time2_second=1%time2:~-5,2%-100 |
| set /a time2_millisec=1%time2:~-2,2%-100 |
| if %time2_millisec% lss %time1_millisec% set /a time2_millisec+=100&set /a time2_second-=1 |
| set /a second=time2_second-time1_second |
| set /a millisec=time2_millisec-time1_millisec |
| echo 开始时间:%time1% 结束时间:%time2% |
| echo 程序2运行时间为%second%秒%millisec%0毫秒 |
| echo ======================== |
| echo [法三] |
| set time1=%time% |
| set /a time1_second=1%time1:~-5,2%-100 |
| set /a time1_millisec=1%time1:~-2,2%-100 |
| |
| set count=0 |
| :loop2 |
| set /a num+=1 |
| for /f %%i in ("%num%") do if not "!var:~%%i,1!"=="" goto loop2 |
| echo 共有%num%个字符 |
| |
| set time2=%time% |
| set /a time2_second=1%time2:~-5,2%-100 |
| set /a time2_millisec=1%time2:~-2,2%-100 |
| if %time2_millisec% lss %time1_millisec% set /a time2_millisec+=100&set /a time2_second-=1 |
| set /a second=time2_second-time1_second |
| set /a millisec=time2_millisec-time1_millisec |
| echo 开始时间:%time1% 结束时间:%time2% |
| echo 程序3运行时间为%second%秒%millisec%0毫秒 |
| echo ======================== |
| echo [法四] batman's idea |
| set time1=%time% |
| set /a time1_second=1%time1:~-5,2%-100 |
| set /a time1_millisec=1%time1:~-2,2%-100 |
| |
| echo %var%>a.txt |
| echo.>>a.txt |
| for /f "tokens=1 delims=:" %%i in ('findstr /o .* a.txt') do set /a length=%%i-2&if not %%i |
| equ 0 echo 共有%length%个字符&goto end |
| :end |
| del a.txt |
| |
| set time2=%time% |
| set /a time2_second=1%time2:~-5,2%-100 |
| set /a time2_millisec=1%time2:~-2,2%-100 |
| if %time2_millisec% lss %time1_millisec% set /a time2_millisec+=100&set /a time2_second-=1 |
| set /a second=time2_second-time1_second |
| set /a millisec=time2_millisec-time1_millisec |
| echo 开始时间:%time1% 结束时间:%time2% |
| echo 程序4运行时间为%second%秒%millisec%0毫秒 |
| pause>nulCOPY |