|
ganjie
初级用户
 
积分 49
发帖 37
注册 2007-5-8
状态 离线
|
『楼 主』:
求个汇总的算法:根据不同的文件类型进行分类汇总
如当前目录下有几个文件夹,例如有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
操作:在帖子标题中增加搜索关键字;代码加code标签
说明:原标题"求个汇总的算法!"不利于论坛搜索
处罚:扣除2点积分
提示:建议阅读以下帖子
{1415}提问的智慧
{7326}论坛新手必读,所有人的基本行为准则
{22703}请不要做浮躁的人
{27314}反面教材:本论坛“精彩”标题小集
{32667}愤怒:那些连标题都写不清楚的人们啊,你们醒醒吧
{32825}本版严厉整顿烂帖
───────────────── 版务记录 ─────────────────
Last edited by HAT on 2009-2-8 at 21:20 ]
此帖被 -2 点积分 点击查看详情 评分人:【 HAT 】 | 分数: -2 | 时间:2009-2-8 21:20 |
|
|
|
2009-2-8 19:08 |
|
|
moniuming
银牌会员
     永远的菜鸟
积分 1335
发帖 574
注册 2007-11-27 来自 广西
状态 离线
|
|
2009-2-8 20:12 |
|
|
netbenton
银牌会员
     批处理编程迷
积分 1916
发帖 752
注册 2008-12-28 来自 广西
状态 离线
|
『第
3 楼』:
看看这样可以吗?
@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
|

精简
=> 个人 网志  |
|
2009-2-8 20:51 |
|
|
yishanju
银牌会员
     [b]看你妹啊[/b]
积分 1488
发帖 1357
注册 2006-5-20
状态 离线
|
『第
4 楼』:
看着楼上的代码完全无语了
=.=看不懂。
|

有问题请发论坛或者自行搜索,再短消息问我的统统是SB |
|
2009-2-8 21:12 |
|
|
netbenton
银牌会员
     批处理编程迷
积分 1916
发帖 752
注册 2008-12-28 来自 广西
状态 离线
|
『第
5 楼』:
是有点粗糙。^_^
|

精简
=> 个人 网志  |
|
2009-2-8 21:16 |
|
|
BC
中级用户
  
积分 338
发帖 175
注册 2007-10-21
状态 离线
|
|
2009-2-9 00:56 |
|
|
netbenton
银牌会员
     批处理编程迷
积分 1916
发帖 752
注册 2008-12-28 来自 广西
状态 离线
|
『第
7 楼』:
@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
|

精简
=> 个人 网志  |
|
2009-2-9 01:15 |
|
|
ganjie
初级用户
 
积分 49
发帖 37
注册 2007-5-8
状态 离线
|
『第
8 楼』:
netbenton 又是你帮我解决的问题,谢谢了!为什么大家总说的我的贴子不好理解,哪里不理解可以回贴问,如果说全部看不懂,那就没有办法了!
|
|
2009-2-9 14:37 |
|