terse 当前离线
中将
原帖由 batman 于 2008-12-16 17:20 发表 trese兄是不是写得复杂了点。。。。
@echo off&setlocal enabledelayedexpansion for /f "tokens=1-3 delims= " %%a in ('type "test.xls"') do ( if not defined flag ( echo %%b %%c>test.xls&set "flag=a" ) else ( if "%%c"=="" ( >>test.xls echo %%a:%%b !num:~,-5!.!num:~-5! set num= ) else ( >>test.xls echo %%b %%c set str=%%c set str1=!str:*.=! if "!str1!"=="%%c" set str1= call set str2=%%str:.!str1!=%% set str1=!str1!00000 set str1=!str1:~,5! set/a num+=!str2!!str1! ) ) ) pause复制代码
TOP
qlcom 当前离线
二级士官
@echo on &setlocal enabledelayedexpansion set/a m=2,n=-1 for /f "tokens=1-3 delims= " %%i in (test.xls) do ( set/a n+=1 if !n!==0 (>test.xls echo %%j %%k) else ( if "%%j"=="total" ( >>test.xls echo %%i:%%j =sum(b!m!:b!n!^) set/a m=n+2 ) else ( >>test.xls echo %%j %%k ) ) ) exit复制代码
评分人数
batman 当前离线
考官
荣誉版主
原帖由 qlcom 于 2008-12-18 20:01 发表 @echo on &setlocal enabledelayedexpansion set/a m=2,n=-1 for /f "tokens=1-3 delims= " %%i in (test.xls) do ( set/a n+=1 if !n!==0 (>test.xls echo %%j %%k) else ( ...
原帖由 batman 于 2008-12-19 08:19 发表 set/a m=n+2 兄弟可以仔细看下文件是没有规律的,但你这种方法确是可取的,利用xls的函数公式,好!为这思路加分。
jains521 当前离线
一级士官
@echo off & setlocal enabledelayedexpansion cd.>_new.xls ::解题思路为提升小数为整数 for /f "tokens=1,2,3 delims= " %%i in (test.xls) do ( if "%%j" equ "total" ( echo %%i %%j !_%%i:~0,-2!.!_%%i:~-2!>>_new.xls ) else ( echo %%i %%j %%k>>_new.xls set _tmp=%%k set /a _decimal=!_tmp:.=*0+! set /a "_%%i+= _decimal + _tmp*100" ) ) pause复制代码