![]() |
中国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 |