
| Quote: | |
|
| Quote: | |
|
CODE: [Copy to clipboard]需要注意的是,如果test.txt中包含有标题行需要在for语句中使用skip开关,另外根据具体的要求也应该作相应的改变,包括显示的格式,数据文件的格式,以及增加遍历所有数据文件的语句,另外还要注意批处理最头疼的特殊字符问题.@echo off
md tmp
for /f "tokens=1,4" %%i in (test.txt) do echo %%j>>tmp\%%i.txt
for %%i in (tmp\*.txt) do call :Sub %%i
rd /s /q tmp
pause
goto :eof
:Sub
set /a num = 0
for /f %%i in (%1) do set /a num += %%i 2>nul
echo %1的总金额为:%num%000
echo %1的交易次数为:
find /c /v "" %1
echo.
echo.
echo.
goto :eof
| Quote: | |
|
CODE: [Copy to clipboard]因为要排除标题,所以用了两次findstr,效率稍慢@echo off
>list.csv echo "客户帐号","产品代码","公司帐号","交易金额","交易类型"
for /f "delims=" %%f in ('dir/on/s *.txt') do (
echo %%f
for /f "tokens=1,2,3,4,5" %%i in ('findstr /v "* =" "%%f"^|findstr "[0-9]"') do (
echo %%i %%j %%k %%l %%m
>>list.csv echo "%%i","%%j","%%k","%%l","%%m"
)
)
pause
| Quote: | |
|
| 欢迎光临 中国DOS联盟论坛 (http://cndos.fam.cx/forum/) | Powered by Discuz! 2.5 |