Board logo

标题: 求个汇总的算法:根据不同的文件类型进行分类汇总 [打印本页]

作者: ganjie     时间: 2009-2-8 19:08    标题: 求个汇总的算法:根据不同的文件类型进行分类汇总

如当前目录下有几个文件夹,例如有psp、nds,假设psp内有01.jpg、02.jpg……10.jpg  10个文件,nds有8个文件,01.jpg…………08.jpg ,小弟想得到如下结果:

例如psp内
01.txt 内容为:1/10
02.txt内容为:2/10
……
10.txt内容为:10/10
nds为
01.txt 内容为:1/8
02.txt内容为:2/8
……
08.txt内容为:8/8

打印出按名称拓序后得序号 'dir /na'   01.jpg 即为1,02.jpg即为2.txt ,保存到文本的名字与要处理的文件名相,同以此类推,不可能要用到两个for吧,一个得到总数,一个得单数的,求个算法,谢谢了!


───────────────── 版务记录 ─────────────────
执行:HAT
操作:[2009-02-08]在帖子标题中增加搜索关键字;代码加code标签
说明:原标题"求个汇总的算法!"不利于论坛搜索
处罚:扣除2点积分
提示:建议阅读以下帖子
{1415}提问的智慧
{7326}论坛新手必读,所有人的基本行为准则
{22703}请不要做浮躁的人
{27314}反面教材:本论坛“精彩”标题小集
{32667}愤怒:那些连标题都写不清楚的人们啊,你们醒醒吧
{32825}本版严厉整顿烂帖
───────────────── 版务记录 ─────────────────


[ Last edited by HAT on 2009-2-8 at 21:20 ]
作者: moniuming     时间: 2009-2-8 20:12
乱,不知道是什么意思...
作者: netbenton     时间: 2009-2-8 20:51    标题: 看看这样可以吗?

@echo off
set dir1=psp\
set dir2=nds\
::dir1,dir2指定目录,一定要"\",否则出结果不正确
for /f "tokens=1-3*" %%a in ('set/p ^=%dir1% ^<nul^&dir %dir1%*.jpg ^|findstr 个文件^&dir /b %dir1%*.jpg^&set/p ^=%dir2% ^<nul^&dir %dir2%*.jpg ^|findstr 个文件^&dir /b %dir2%*.jpg') do if "%%c"=="个文件" (set "d=%%a"&set/a num=%%b,n=0) else (call :sub "%%a%%b%%c%%d")
pause
goto :eof

:sub
set/a n+=1
echo %n%/%num%>%d%%~n1.txt
goto :eof
作者: yishanju     时间: 2009-2-8 21:12
看着楼上的代码完全无语了
=.=看不懂。
作者: netbenton     时间: 2009-2-8 21:16
是有点粗糙。^_^
作者: BC     时间: 2009-2-9 00:56
缩进...
作者: netbenton     时间: 2009-2-9 01:15
@echo off
set n=0
for /f %%a in ('dir psp\*.jpg^|findstr 个文件') do set num=%%a
for %%a in (psp\*.jpg) do call :sub "%%a" %num%
set n=0
for /f %%a in ('dir nds\*.jpg^|findstr 个文件') do set num=%%a
for %%a in (nds\*.jpg) do call :sub "%%a" %num%

goto :eof
:sub
set/a n+=1
echo %n%/%2>%~dpn1
作者: ganjie     时间: 2009-2-9 14:37
netbenton 又是你帮我解决的问题,谢谢了!为什么大家总说的我的贴子不好理解,哪里不理解可以回贴问,如果说全部看不懂,那就没有办法了!