中国DOS联盟论坛

中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --
联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum
游客 | 登录 | 注册 | 会员 | 搜索 | 中国DOS联盟
中国DOS联盟论坛
现在时间是 2026-08-11 08:47
47,811 主题排行 / 349,897 发帖 / 今日 0 篇 / 48,256 会员排行
DOS批处理 & 脚本技术(批处理室) » 求个汇总的算法:根据不同的文件类型进行分类汇总
可打印版本  779 / 7
第1楼 ganjie 发表于 2009-02-08 19:08
初级用户 发帖 37 积分 49
求个汇总的算法:根据不同的文件类型进行分类汇总
如当前目录下有几个文件夹,例如有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楼 moniuming 发表于 2009-02-08 20:12
银牌会员 发帖 574 积分 1,335 来自 广西
乱,不知道是什么意思...
第3楼 netbenton 发表于 2009-02-08 20:51
银牌会员 发帖 752 积分 1,916 来自 广西
看看这样可以吗?
@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
第4楼 yishanju 发表于 2009-02-08 21:12
银牌会员 发帖 1,357 积分 1,488
看着楼上的代码完全无语了
=.=看不懂。
第5楼 netbenton 发表于 2009-02-08 21:16
银牌会员 发帖 752 积分 1,916 来自 广西
是有点粗糙。^_^
第6楼 BC 发表于 2009-02-09 00:56
中级用户 发帖 175 积分 338
缩进...
第7楼 netbenton 发表于 2009-02-09 01:15
银牌会员 发帖 752 积分 1,916 来自 广西
@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
第8楼 ganjie 发表于 2009-02-09 14:37
初级用户 发帖 37 积分 49
netbenton 又是你帮我解决的问题,谢谢了!为什么大家总说的我的贴子不好理解,哪里不理解可以回贴问,如果说全部看不懂,那就没有办法了!
[ 联系联盟系统管理团队 - 中国DOS联盟 - 标准版 ]
Sponsored by ifanr Inc | © 2001–2023