当前位置: 首页 > 图文教程 > 脚本技术 > DOS/BAT > 把某个目录下所有txt中第三行第四个数字相加

DOS/BAT
自动改回主页的批处理文件
win2000/XP停止打印.bat
在当前目录生成很漂亮的结构树的批处理dir.bat
可以查杀sxs.exe的bat(批处理)文件
sz.reg转换成reg.bat的批处理
按扩展名分类批处理bat文件
查找最新的文件的批处理bat文件
用bat实现打开快捷方式指向的目录
将c:\windows.复制到当前目录并显示进度的批处理文件
用批处理解锁注册表
用批处理实现的篮球飞人火爆版
枚举当前目录及子目录大小的批处理
用批处理得到每个目录占用的空间
枚举显示批处理bat
全盘删除所有文件夹下的_desktop.ini的批处理bat文件
用批处理实现删除大小和类型一样的文件的代码
自动检测所有盘然后删除所有分区的默认共享的批处理
根据输入的文字实现输出倒文的批处理
一个可以显示c盘-z盘的批处理bat文件
用debug实现dos下重启的代码

DOS/BAT 中的 把某个目录下所有txt中第三行第四个数字相加


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-09-11   浏览: 90 ::
收藏到网摘: n/a

复制代码 代码如下:

@echo off
:: 把某个目录下所有txt中第三行第四个数字相加
::
set num=0
setlocal enabledelayedexpansion
:: 其实用skip=2来跳过头两行的效率更高
for %%i in (*.txt) do (
set file=%%i
for /f "tokens=1* delims=:" %%j in ('findstr /n . !file!') do (
set var=%%k
if %%j equ 3 (set num_=!var:~4,1!)&& set /a num=!num!+!num_!
)
)
echo 相加后的结果是 %num%
pause
goto :eof
@echo off
:: 把某个目录下所有txt文件中第十行第三列的数字相加
:: code by jm 2006-9-9 CMD@XP
setlocal enabledelayedexpansion
for %%i in (*.txt) do (
set file=%%i
set count=0
for /f "skip=9 tokens=3" %%j in (!file!) do (
set /a count+=1
if !count! equ 1 set /a sum+=%%j
)
)
echo 相加后的结果是 %sum%
pause