- @echo off
- call:s 1234t
- echo %size%
- pause&exit
- :s
- setlocal enableDelayedExpansion
- set p=%1&set q=%1&set p1=!p:~0,-1!&set p2=!p:~-1!
- if /i %p2%==k set/a q=p1*1024
- if /i %p2%==m set/a q=p1*1048576
- if /i %p2%==g set n=1073741824&call:e
- if /i %p2%==t set n=1099511627776&call:e
- endlocal&set size=%q%&goto:eof
- :e
- set q=&set/a q1=p1*%n:~0,-6%,q2=p1*%n:~-6%
- set q1=0000000000%q1%000000&set q1=!q1:~-16!
- set q2=0000000000%q2%&set q2=!q2:~-16!
- for /l %%a in (-1,-1,-16) do (
- set/a n=!q1:~%%a,1!+!q2:~%%a,1!+m,m=0&set q=!n:~-1!!q!
- if !n! geq 10 set m=1
- )
- for /l %%a in (1,1,10) do if !q:~0^,1!==0 (set q=!q:~1!) else goto:eof
复制代码
[ 本帖最后由 hanyeguxing 于 2011-2-14 12:36 编辑 ] |